pub struct SessionHeaderWire {
pub session_id: Option<SessionId>,
pub seq: u64,
pub model: Option<Value>,
pub effort: Value,
pub permission_mode: Option<Value>,
pub context: Value,
pub available_models: Vec<Value>,
pub turn_in_flight: bool,
}Expand description
The session’s header facts, including the two a client cannot otherwise reach: the catalogue a picker draws its rows from, and whether a turn is in flight.
Fields§
§session_id: Option<SessionId>The occupant’s id, or None when there is no occupant to name:
nothing started, nothing connected yet, or an id dropped since.
This is the epoch Self::seq belongs to. Every frame the seat’s
stream carries is numbered, and a change of occupant starts the count
over at 1 - so a client that reads this id with the number below knows
which frames it missed and which it never had.
seq: u64The number the seat’s next frame will carry.
A client that attaches mid-stream reads where the stream stands, so the frames it hears from here continue the count it holds rather than looking like a gap. It is the successor - never 0, never the last number minted.
model: Option<Value>§effort: Value§permission_mode: Option<Value>§context: Value§available_models: Vec<Value>§turn_in_flight: boolTrait Implementations§
Source§impl<'de> Deserialize<'de> for SessionHeaderWire
impl<'de> Deserialize<'de> for SessionHeaderWire
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SessionHeaderWire
impl RefUnwindSafe for SessionHeaderWire
impl Send for SessionHeaderWire
impl Sync for SessionHeaderWire
impl Unpin for SessionHeaderWire
impl UnsafeUnpin for SessionHeaderWire
impl UnwindSafe for SessionHeaderWire
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more