pub struct ReliableMessage { /* private fields */ }Implementations§
Source§impl ReliableMessage
impl ReliableMessage
pub fn new() -> ReliableMessage
pub fn is_retrans_pending(&self) -> bool
pub fn is_ack_pending(&self) -> bool
pub fn has_rx_timed_out(&self, timeout_ms: u64) -> bool
pub fn pre_send( &mut self, tx_plain: &PlainHdr, tx_proto: &mut ProtoHdr, session_active_interval_ms: Option<u32>, _session_idle_interval_ms: Option<u32>, ) -> Result<(), Error>
Sourcepub fn post_recv(
&mut self,
rx_plain: &PlainHdr,
rx_proto: &ProtoHdr,
) -> Result<(), Error>
pub fn post_recv( &mut self, rx_plain: &PlainHdr, rx_proto: &ProtoHdr, ) -> Result<(), Error>
This method will update the state of the rentransmission and ACK tables with the data from the incoming packet.
The method will return Ok if the message needs to be processed by the
exchange layer, and an error if it needs to be dropped.
A note about Message ACKs, it is a bit asymmetric in the sense that:
- there can be only one pending ACK per exchange (so this is per-exchange)
- there can be only one pending retransmission per exchange (so this is per-exchange)
- duplicate detection should happen per session (obviously), so that part is per-session
Trait Implementations§
Source§impl Debug for ReliableMessage
impl Debug for ReliableMessage
Source§impl Default for ReliableMessage
impl Default for ReliableMessage
Source§fn default() -> ReliableMessage
fn default() -> ReliableMessage
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ReliableMessage
impl RefUnwindSafe for ReliableMessage
impl Send for ReliableMessage
impl Sync for ReliableMessage
impl Unpin for ReliableMessage
impl UnsafeUnpin for ReliableMessage
impl UnwindSafe for ReliableMessage
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
Source§fn into_fallible<E>(self) -> impl Init<T, E>
fn into_fallible<E>(self) -> impl Init<T, E>
Convert the infallible initializer to a fallible one.
Source§impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
type Error = <Target as OctetsFrom<Source>>::Error
Source§fn try_octets_into(
self,
) -> Result<Target, <Source as OctetsInto<Target>>::Error>
fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>
Performs the conversion.
Source§fn octets_into(self) -> Target
fn octets_into(self) -> Target
Performs an infallible conversion.