pub struct ReceiveMessageMeta {
pub namelen: u32,
pub controllen: u32,
pub payloadlen: u32,
pub flags: MessageFlags,
pub address: Option<SocketAddr>,
pub fds: Vec<OwnedFd>,
}Expand description
Métadonnées d’une réception recvmsg via io_uring, adossées à
struct io_uring_recvmsg_out (namelen/controllen/payloadlen/flags),
étendues des FD matérialisés et de l’adresse pair décodée.
Pour le recvmsg one-shot du Temps 2b, ces scalaires proviennent du
msghdr réécrit par le kernel ; le format io_uring_recvmsg_out préfixé au
buffer est la variante multishot (Temps 3d).
Fields§
§namelen: u32Longueur de l’adresse pair écrite (msg_namelen).
controllen: u32Longueur des données de contrôle écrites (msg_controllen).
payloadlen: u32Longueur de la charge utile reçue (octets de données).
flags: MessageFlagsDrapeaux retournés par le kernel (msg_flags).
address: Option<SocketAddr>Adresse du pair décodée (si namelen > 0).
fds: Vec<OwnedFd>FD reçus via SCM_RIGHTS, matérialisés en OwnedFd CLOEXEC.
Implementations§
Source§impl ReceiveMessageMeta
impl ReceiveMessageMeta
Sourcepub fn payload_truncated(&self) -> bool
pub fn payload_truncated(&self) -> bool
MSG_TRUNC : la charge utile a été tronquée (buffers de données trop
petits) — des octets ont été perdus.
Sourcepub fn control_truncated(&self) -> bool
pub fn control_truncated(&self) -> bool
MSG_CTRUNC : les données de contrôle ont été tronquées (buffer de
contrôle trop petit) — des FD ont pu être perdus (fermés proprement par
la façade, aucune fuite).