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.
Sourcepub fn is_padding(&self) -> bool
pub fn is_padding(&self) -> bool
Return true if this consists of nothing but padding.
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§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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