pub struct EntityState { /* private fields */ }Expand description
Atomic-Container fuer den Entity-Lifecycle.
Implementations§
Source§impl EntityState
impl EntityState
Sourcepub fn new() -> Arc<Self> ⓘ
pub fn new() -> Arc<Self> ⓘ
Neuer State, initial disabled (Spec-Default fuer alle Entities ausser DomainParticipantFactory).
Sourcepub fn new_enabled() -> Arc<Self> ⓘ
pub fn new_enabled() -> Arc<Self> ⓘ
Neuer State, bereits enabled — fuer DomainParticipantFactory (Spec §2.2.2.1.4: Factory ist immer enabled).
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
True wenn die Entity enabled ist.
Sourcepub fn enable(&self) -> bool
pub fn enable(&self) -> bool
Setzt enabled=true (idempotent). Liefert true wenn der Aufruf
die Transition false→true vollzogen hat (fuer Cascade-Logik).
Sourcepub fn instance_handle(&self) -> InstanceHandle
pub fn instance_handle(&self) -> InstanceHandle
Lokaler 64-Bit-Identifier dieser Entity.
Sourcepub fn status_changes(&self) -> StatusMask
pub fn status_changes(&self) -> StatusMask
Aktuelle Status-Changes-Mask. Lesen leert NICHT — der Caller
nimmt entscheidende Bits selbst zurueck via
Self::clear_status_changes.
Sourcepub fn set_status_bits(&self, bits: StatusMask)
pub fn set_status_bits(&self, bits: StatusMask)
Setzt zusaetzliche Status-Bits (vom Discovery/Runtime-Layer gerufen, wenn ein Status-Event eintrifft).
Sourcepub fn clear_status_changes(&self, bits: StatusMask)
pub fn clear_status_changes(&self, bits: StatusMask)
Loescht die uebergebenen Bits aus der Status-Changes-Mask (nach Caller’s Read).
Sourcepub fn set_listener_mask(&self, mask: StatusMask)
pub fn set_listener_mask(&self, mask: StatusMask)
Listener-Maske setzen — beeinflusst Bubble-Up.
Sourcepub fn listener_mask(&self) -> StatusMask
pub fn listener_mask(&self) -> StatusMask
Listener-Maske lesen.
Sourcepub fn is_deleted(&self) -> bool
pub fn is_deleted(&self) -> bool
true wenn die Entity bereits delete_* durchlaufen hat.
Sourcepub fn mark_deleted(&self) -> bool
pub fn mark_deleted(&self) -> bool
Markiert die Entity als geloescht (idempotent). Liefert true
beim ersten Aufruf (Transition false→true), false bei
nachfolgenden Aufrufen.
Sourcepub fn check_not_deleted(&self) -> Result<()>
pub fn check_not_deleted(&self) -> Result<()>
Guard-Helper fuer Public-Ops: liefert Err(AlreadyDeleted)
wenn die Entity bereits geloescht wurde, sonst Ok(()).
Nutzungs-Pattern:
pub fn write(&self, sample: T) -> Result<()> {
self.entity_state().check_not_deleted()?;
// ... eigentliche Logik ...
}§Errors
DdsError::AlreadyDeleted wenn is_deleted() == true.
Sourcepub fn check_enabled(&self) -> Result<()>
pub fn check_enabled(&self) -> Result<()>
Guard-Helper: liefert Err(NotEnabled) wenn die Entity nicht
enabled ist (Spec §2.2.2.1.1.7 RC NOT_ENABLED).
§Errors
DdsError::NotEnabled wenn is_enabled() == false.