pub struct GatewayClientTransportBridge { /* private fields */ }Expand description
Low-level bridge from client packet transport into the gateway command pipeline.
Implementations§
Source§impl GatewayClientTransportBridge
impl GatewayClientTransportBridge
Sourcepub const fn stats(&self) -> GatewayClientTransportStats
pub const fn stats(&self) -> GatewayClientTransportStats
Returns accumulated statistics.
Sourcepub fn pump_ingress<T, E>(
&mut self,
transport: &mut T,
pipeline: &mut GatewayCommandPipeline,
gateway: &mut GatewaySessionTable,
station_queues: &mut BTreeMap<StationId, CommandQueues>,
now: Tick,
ingress: CommandIngress,
max_packets: usize,
) -> Result<GatewayClientTransportPump, GatewayClientTransportError<E>>where
T: TransportReceiver<Error = E> + TransportSink<Error = E>,
pub fn pump_ingress<T, E>(
&mut self,
transport: &mut T,
pipeline: &mut GatewayCommandPipeline,
gateway: &mut GatewaySessionTable,
station_queues: &mut BTreeMap<StationId, CommandQueues>,
now: Tick,
ingress: CommandIngress,
max_packets: usize,
) -> Result<GatewayClientTransportPump, GatewayClientTransportError<E>>where
T: TransportReceiver<Error = E> + TransportSink<Error = E>,
Pumps up to max_packets client command packets into station queues and
sends produced ACKs back through the same bounded client transport.
Sourcepub fn pump_ingress_compact<T, E>(
&mut self,
transport: &mut T,
pipeline: &mut GatewayCommandPipeline,
gateway: &mut GatewaySessionTable,
station_queues: &mut BTreeMap<StationId, CommandQueues>,
now: Tick,
ingress: CommandIngress,
max_packets: usize,
) -> Result<GatewayClientTransportSummary, GatewayClientTransportError<E>>where
T: TransportReceiver<Error = E> + TransportSink<Error = E>,
pub fn pump_ingress_compact<T, E>(
&mut self,
transport: &mut T,
pipeline: &mut GatewayCommandPipeline,
gateway: &mut GatewaySessionTable,
station_queues: &mut BTreeMap<StationId, CommandQueues>,
now: Tick,
ingress: CommandIngress,
max_packets: usize,
) -> Result<GatewayClientTransportSummary, GatewayClientTransportError<E>>where
T: TransportReceiver<Error = E> + TransportSink<Error = E>,
Pumps commands and moves ACK buffers directly into transport without retaining per-command pipeline reports.
Use Self::pump_ingress when the caller needs detailed error reports
or encoded ACK bytes after sending.
Trait Implementations§
Source§impl Clone for GatewayClientTransportBridge
impl Clone for GatewayClientTransportBridge
Source§fn clone(&self) -> GatewayClientTransportBridge
fn clone(&self) -> GatewayClientTransportBridge
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GatewayClientTransportBridge
impl Debug for GatewayClientTransportBridge
Source§impl Default for GatewayClientTransportBridge
impl Default for GatewayClientTransportBridge
Source§fn default() -> GatewayClientTransportBridge
fn default() -> GatewayClientTransportBridge
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for GatewayClientTransportBridge
impl RefUnwindSafe for GatewayClientTransportBridge
impl Send for GatewayClientTransportBridge
impl Sync for GatewayClientTransportBridge
impl Unpin for GatewayClientTransportBridge
impl UnsafeUnpin for GatewayClientTransportBridge
impl UnwindSafe for GatewayClientTransportBridge
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