pub trait CuStreamRx:
Debug
+ Send
+ Sync {
// Required method
fn try_recv(
&mut self,
packet: &mut [u8],
) -> Result<Option<usize>, CuStreamRxError>;
}Expand description
Nonblocking reception of complete logstream packets.
Ok(None) means no complete packet is available. Ok(Some(len)) places one
complete packet in packet[..len]. This is the receive half of the one-way
data plane; it does not acknowledge traffic or imply a reverse channel.
Only deliver complete packets that passed the carrier’s integrity check. Drop corrupt, truncated, or malformed frames before exposing them to FEC; corruption must become packet loss, which FEC can recover. Never deliver a partial packet. Byte-stream adapters must verify and strip their framing checksum and resynchronize after damaged frames. In-memory carriers must preserve bytes. Record digests bind reconstructed content and recovery references separately; they do not replace this carrier integrity contract.
Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".