pub struct PollFd<'fd> { /* private fields */ }Expand description
Vue d’une entrée struct pollfd du kernel : un descripteur emprunté, les
events surveillés et les revents rendus par ppoll(2).
Aucune prise d’ownership : le fd est un BorrowedFd (+0). L’appelant
reste seul propriétaire et garde la responsabilité de sa fermeture.
Représentation ABI. Le type est #[repr(C)] avec exactement la
disposition de struct pollfd (int fd; short events; short revents; —
8 octets, alignement 4). C’est ce qui permet à ppoll de prendre la slice
de l’appelant directement, sans allocation ni copie (Principe 4). Les champs
events/revents du kernel sont des short (16 bits) : tous les drapeaux
PollEvents définis tiennent dans ces 16 bits (RDHUP = 0x2000 est le plus
haut). La surface publique reste typée PollEvents via Self::new,
Self::events et Self::revents ; la nature 16 bits est un détail interne
fidèle au kernel.
Implementations§
Source§impl<'fd> PollFd<'fd>
impl<'fd> PollFd<'fd>
Sourcepub fn new(fd: BorrowedFd<'fd>, events: PollEvents) -> Self
pub fn new(fd: BorrowedFd<'fd>, events: PollEvents) -> Self
Construit une entrée de surveillance pour fd et les events demandés.
revents est vide à la construction ; il sera rempli par le kernel au
retour de ppoll.
Sourcepub fn fd(&self) -> BorrowedFd<'fd>
pub fn fd(&self) -> BorrowedFd<'fd>
Descripteur emprunté surveillé par cette entrée.
Sourcepub fn events(&self) -> PollEvents
pub fn events(&self) -> PollEvents
Événements demandés (tels que passés à Self::new).
Sourcepub fn revents(&self) -> PollEvents
pub fn revents(&self) -> PollEvents
Événements signalés par le kernel après ppoll (vide si non prêt).
Restitution intégrale de l’information du kernel (ADR-032) : tous les
bits rendus sont conservés, y compris ceux non modélisés par une constante
(from_bits_retain).