pub struct SrsppNode<E, S: MessageStore = NoStore, Re: Reachable = AlwaysReachable, R: ReceiverBackend = ReceiverMachine<8, 4096, 8192>, const WIN: usize = 8, const BUF: usize = 4096, const MTU: usize = 512, const MAX_STREAMS: usize = 1> { /* private fields */ }Expand description
Combined SRSPP sender and receiver over a single link.
Implementations§
Source§impl<E: Clone, S: MessageStore, Re: Reachable, R: ReceiverBackend, const WIN: usize, const BUF: usize, const MTU: usize, const MAX_STREAMS: usize> SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
impl<E: Clone, S: MessageStore, Re: Reachable, R: ReceiverBackend, const WIN: usize, const BUF: usize, const MTU: usize, const MAX_STREAMS: usize> SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
Sourcepub fn new(
sender_config: SenderConfig,
receiver_config: ReceiverConfig,
store: S,
reachable: Re,
) -> Self
pub fn new( sender_config: SenderConfig, receiver_config: ReceiverConfig, store: S, reachable: Re, ) -> Self
Creates a new node with sender and receiver configurations.
Sourcepub fn split<L: NetworkWrite<Error = E> + NetworkRead<Error = E>, P: RtoPolicy>(
&self,
link: L,
rto_policy: P,
) -> (SrsppRxHandle<'_, E, R, MAX_STREAMS>, SrsppTxHandle<'_, E, S, Re, WIN, BUF, MTU>, SrsppNodeDriver<'_, L, P, E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>)
pub fn split<L: NetworkWrite<Error = E> + NetworkRead<Error = E>, P: RtoPolicy>( &self, link: L, rto_policy: P, ) -> (SrsppRxHandle<'_, E, R, MAX_STREAMS>, SrsppTxHandle<'_, E, S, Re, WIN, BUF, MTU>, SrsppNodeDriver<'_, L, P, E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>)
Splits into separate tx/rx handles and a driver for I/O.
Auto Trait Implementations§
impl<E, S = NoStore, Re = AlwaysReachable, R = PackedReceiver<8, 4096, 8192>, const WIN: usize = 8, const BUF: usize = 4096, const MTU: usize = 512, const MAX_STREAMS: usize = 1> !Freeze for SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
impl<E, S = NoStore, Re = AlwaysReachable, R = PackedReceiver<8, 4096, 8192>, const WIN: usize = 8, const BUF: usize = 4096, const MTU: usize = 512, const MAX_STREAMS: usize = 1> !RefUnwindSafe for SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
impl<E, S, Re, R, const WIN: usize, const BUF: usize, const MTU: usize, const MAX_STREAMS: usize> Send for SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
impl<E, S = NoStore, Re = AlwaysReachable, R = PackedReceiver<8, 4096, 8192>, const WIN: usize = 8, const BUF: usize = 4096, const MTU: usize = 512, const MAX_STREAMS: usize = 1> !Sync for SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
impl<E, S, Re, R, const WIN: usize, const BUF: usize, const MTU: usize, const MAX_STREAMS: usize> Unpin for SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
impl<E, S, Re, R, const WIN: usize, const BUF: usize, const MTU: usize, const MAX_STREAMS: usize> UnsafeUnpin for SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
impl<E, S, Re, R, const WIN: usize, const BUF: usize, const MTU: usize, const MAX_STREAMS: usize> UnwindSafe for SrsppNode<E, S, Re, R, WIN, BUF, MTU, MAX_STREAMS>
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