pub struct SubscriptionCtx {
pub fabric_idx: NonZero<u8>,
pub peer_node_id: u64,
pub subscription_id: Option<u32>,
}Expand description
The identity of the subscription (and the peer that owns it) that a
server-initiated ReportData message belongs to.
Reachable from a ReportContext via ReportContext::subscription and
handed (indirectly) to a ReportDataHandler so it can route the report to
the right in-flight subscription. The (fabric_idx, peer_node_id, subscription_id) triple is exactly the key a controller records when it
establishes a subscription (see the IM client’s SubscribeEstablished), and
mirrors how the C++ SDK matches an unsolicited ReportData to its
ReadClient.
Fields§
§fabric_idx: NonZero<u8>The local fabric index the report arrived on.
peer_node_id: u64The node ID of the peer (publisher) that sent the report.
subscription_id: Option<u32>The subscription ID carried in the report, if any. None for an
unsolicited (subscription-less) ReportData — legal on the wire but not
expected in the controller subscription flow.
Trait Implementations§
Source§impl Clone for SubscriptionCtx
impl Clone for SubscriptionCtx
Source§fn clone(&self) -> SubscriptionCtx
fn clone(&self) -> SubscriptionCtx
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SubscriptionCtx
Source§impl Debug for SubscriptionCtx
impl Debug for SubscriptionCtx
impl Eq for SubscriptionCtx
Source§impl Hash for SubscriptionCtx
impl Hash for SubscriptionCtx
Source§impl PartialEq for SubscriptionCtx
impl PartialEq for SubscriptionCtx
impl StructuralPartialEq for SubscriptionCtx
Auto Trait Implementations§
impl Freeze for SubscriptionCtx
impl RefUnwindSafe for SubscriptionCtx
impl Send for SubscriptionCtx
impl Sync for SubscriptionCtx
impl Unpin for SubscriptionCtx
impl UnsafeUnpin for SubscriptionCtx
impl UnwindSafe for SubscriptionCtx
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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