pub struct Request {
pub id: RequestId,
pub wire_expr: WireExpr<'static>,
pub ext_qos: QoSType,
pub ext_tstamp: Option<TimestampType>,
pub ext_nodeid: NodeIdType,
pub ext_target: QueryTarget,
pub ext_budget: Option<BudgetType>,
pub ext_timeout: Option<TimeoutType>,
pub payload: RequestBody,
}
Expand description
§Request message
Flags:
- N: Named if N==1 then the key expr has name/suffix
- M: Mapping if M==1 then key expr mapping is the one declared by the sender, else it is the one declared by the receiver
- Z: Extension if Z==1 then at least one extension is present
7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+
|Z|M|N| Request |
+-+-+-+---------+
~ request_id:z32~ (*)
+---------------+
~ key_scope:z16 ~
+---------------+
~ key_suffix ~ if N==1 -- <u8;z16>
+---------------+
~ [req_exts] ~ if Z==1
+---------------+
~ RequestBody ~ -- Payload
+---------------+
(*) The resolution of the request id is negotiated during the session establishment.
This implementation limits the resolution to 32bit.
Fields§
§id: RequestId
§wire_expr: WireExpr<'static>
§ext_qos: QoSType
§ext_tstamp: Option<TimestampType>
§ext_nodeid: NodeIdType
§ext_target: QueryTarget
§ext_budget: Option<BudgetType>
§ext_timeout: Option<TimeoutType>
§payload: RequestBody
Trait Implementations§
impl Eq for Request
impl StructuralPartialEq for Request
Auto Trait Implementations§
impl Freeze for Request
impl !RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl !UnwindSafe for Request
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Converts
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>
Converts
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