pub struct EgressDatagram {
pub fate: u16,
pub dst: SocketAddr,
pub bytes: Vec<u8>,
}Expand description
One egress datagram: its destination, plus the FEC “fate group” it belongs to.
GSO coalesces same-length, same-destination UDP datagrams into one
UDP_SEGMENT super-skb; under loss the whole skb is dropped/delayed as a
unit (segmentation is deferred to the receiver). Two datagrams that are
symbols of the same RaptorQ object must never share a skb — losing them
together can defeat FEC recovery for that object. fate is the RaptorQ
object id (source symbols and this object’s repair symbols share it; a
different object gets a different value). A GSO-capable driver must
guarantee at most one datagram per distinct fate and per distinct
dst in any single coalesced send (datagrams to different peers must
never share a skb either). Non-GSO drivers ignore fate.
Fields§
§fate: u16§dst: SocketAddr§bytes: Vec<u8>