pub struct InstanceState {Show 13 fields
pub handle: InstanceHandle,
pub kind: InstanceStateKind,
pub disposed_generation_count: i32,
pub no_writers_generation_count: i32,
pub writer_count: u32,
pub last_sample_timestamp: Option<Time>,
pub last_delivered_ts: Option<Time>,
pub disposed_at: Option<Time>,
pub no_writers_at: Option<Time>,
pub current_owner: Option<([u8; 16], i32)>,
pub key_holder: Vec<u8>,
pub reader_view_new: bool,
pub samples_in_cache: u32,
}Expand description
Pro-Instanz-Buchhaltung.
Fields§
§handle: InstanceHandleLokaler Handle (stabil ueber den Tracker-Lebenszyklus).
kind: InstanceStateKindAktueller Lifecycle-Zustand.
disposed_generation_count: i32NOT_ALIVE_DISPOSED → ALIVE-Transitions seit erstem Sample.
no_writers_generation_count: i32NOT_ALIVE_NO_WRITERS → ALIVE-Transitions seit erstem Sample.
writer_count: u32Anzahl Writer, die diese Instanz aktuell als registriert fuehren. Reader-seitig: jeder eingehende Sample erhoeht den Counter (falls neuer Writer); jeder unregister-Marker dekrementiert. Writer-seitig: 0 oder 1 (eine Writer-Sicht).
last_sample_timestamp: Option<Time>Wall-Clock-Zeit des zuletzt verarbeiteten Samples (oder None).
last_delivered_ts: Option<Time>Reader-side: source_timestamp des letzten ans User-API
gelieferten Samples dieser Instanz. Spec §2.2.3.12
TIME_BASED_FILTER: ein neues Sample wird gefiltert wenn
t - last_delivered_ts < minimum_separation.
disposed_at: Option<Time>Reader-side: Wall-Clock-Zeit, zu der die Instanz in
NOT_ALIVE_DISPOSED uebergegangen ist. Spec §2.2.3.22
autopurge_disposed_samples_delay: Samples werden nach
Ablauf des Delays purged.
no_writers_at: Option<Time>Reader-side: Wall-Clock-Zeit, zu der die Instanz in
NOT_ALIVE_NO_WRITERS uebergegangen ist. Spec §2.2.3.22
autopurge_no_writer_samples_delay.
current_owner: Option<([u8; 16], i32)>Reader-side OWNERSHIP=EXCLUSIVE (Spec §2.2.3.10): aktueller
Eigentuemer-Writer als (GuidLike, Strength). Bei Tie-Breaker
gewinnt der lexikographisch hoehere GuidLike. Bei Liveliness-
Loss: explizit per clear_owner reset.
key_holder: Vec<u8>Gespeicherter Key-Holder (Bytes), so kann get_key_value ohne
erneutes Decoden den Key zurueckspielen. Das ist der PLAIN_CDR2-
BE-Stream, also exakt der Input von compute_key_hash.
reader_view_new: boolView-State auf Reader-Seite. Auf Writer-Seite unbenutzt.
samples_in_cache: u32Anzahl bisheriger Reader-Samples in dieser Instanz (sample_rank- Hilfswert fuer den naechsten Read).
Trait Implementations§
Source§impl Clone for InstanceState
impl Clone for InstanceState
Source§fn clone(&self) -> InstanceState
fn clone(&self) -> InstanceState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more