pub struct SignalMask(/* private fields */);Expand description
Ensemble de signaux représenté comme bitmask u64.
Le bit N du mask correspond au signal N + 1 (convention Linux
sigset_t : signal 1 = bit 0, signal 64 = bit 63). Les signaux
au-delà de 64 (RT signals étendus, rares) ne sont pas représentables
par ce stub — ils seront supportés via une représentation plus large
si nécessaire dans une PR ultérieure.
Implementations§
Source§impl SignalMask
impl SignalMask
Sourcepub fn from_signals(signals: &[Signal]) -> Self
pub fn from_signals(signals: &[Signal]) -> Self
Construit un mask à partir d’une liste de signaux. Les signaux au-delà de 64 (rares) sont silencieusement ignorés.
Sourcepub fn contains(self, sig: Signal) -> bool
pub fn contains(self, sig: Signal) -> bool
Indique si sig est dans le mask.
Défense en profondeur. Le type Signal borne déjà ses valeurs
à [1, 64] (cf. Signal::try_from_raw), donc bit_index < 64
par construction et la branche None de checked_shl est
structurellement inatteignable. Elle est conservée comme garde
no-op (retourne false) au cas où un futur constructeur de
Signal oublierait d’appliquer la borne — Principe 5 :
sur-sécuriser, ne jamais corrompre.
Sourcepub fn with(self, sig: Signal) -> Self
pub fn with(self, sig: Signal) -> Self
Retourne un nouveau mask avec sig ajouté.
Même garde no-op défensive que Self::contains : si jamais
bit_index >= 64, retourne le mask inchangé (sans paniquer ni
corrompre l’état).
Sourcepub fn without(self, sig: Signal) -> Self
pub fn without(self, sig: Signal) -> Self
Retourne un nouveau mask avec sig retiré.
Même garde no-op défensive que Self::contains.
Trait Implementations§
Source§impl Clone for SignalMask
impl Clone for SignalMask
Source§fn clone(&self) -> SignalMask
fn clone(&self) -> SignalMask
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more