pub trait TxToken {
// Required method
fn consume<R, F>(self, len: usize, f: F) -> R
where F: FnOnce(&mut [u8]) -> R;
// Provided method
fn set_meta(&mut self, meta: PacketMeta) { ... }
}
Expand description
A token to transmit a single network packet.
Required Methods§
Sourcefn consume<R, F>(self, len: usize, f: F) -> Rwhere
F: FnOnce(&mut [u8]) -> R,
fn consume<R, F>(self, len: usize, f: F) -> Rwhere
F: FnOnce(&mut [u8]) -> R,
Consumes the token to send a single network packet.
This method constructs a transmit buffer of size len
and calls the passed
closure f
with a mutable reference to that buffer. The closure should construct
a valid network packet (e.g. an ethernet packet) in the buffer. When the closure
returns, the transmit buffer is sent out.
Provided Methods§
Sourcefn set_meta(&mut self, meta: PacketMeta)
fn set_meta(&mut self, meta: PacketMeta)
The Packet ID to be associated with the frame to be transmitted by this TxToken
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.