pub struct RelayCellDecoderResult { /* private fields */ }
Expand description
Result of calling RelayCellDecoder::decode
.
Implementations§
Source§impl RelayCellDecoderResult
impl RelayCellDecoderResult
Sourcepub fn cmds(&self) -> impl Iterator<Item = RelayCmd> + '_
pub fn cmds(&self) -> impl Iterator<Item = RelayCmd> + '_
Returns a non-empty iterator over commands in relay messages that the cell producing this result contained any part of. i.e. this includes the command of “head”, “middle”, and/or “tail” message fragments that were in the cell.
Sourcepub fn into_parts(
self,
) -> (impl Iterator<Item = UnparsedRelayMsg>, Option<IncompleteRelayMsgInfo>)
pub fn into_parts( self, ) -> (impl Iterator<Item = UnparsedRelayMsg>, Option<IncompleteRelayMsgInfo>)
Converts self
to an iterator over the complete messages, and metadata
about the trailing incomplete message (as for Self::incomplete_info
),
if any.
Sourcepub fn incomplete_info(&self) -> Option<IncompleteRelayMsgInfo>
pub fn incomplete_info(&self) -> Option<IncompleteRelayMsgInfo>
Returns the IncompleteRelayMsgInfo
describing the incomplete
relay message that this cell contained a fragment of, if any.
Note that:
- This does not describe a fragment that includes the end of the relay message, since the message is then complete.
- This does include a fragment that continues, but does not complete, a message started in an earlier relay cell.
- There is at most one such incomplete relay message, since no current relay cell format supports starting a new message before completing the previous one.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RelayCellDecoderResult
impl RefUnwindSafe for RelayCellDecoderResult
impl Send for RelayCellDecoderResult
impl Sync for RelayCellDecoderResult
impl Unpin for RelayCellDecoderResult
impl UnwindSafe for RelayCellDecoderResult
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
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