pub struct SampleInfo {
pub sample_state: SampleStateKind,
pub view_state: ViewStateKind,
pub instance_state: InstanceStateKind,
pub disposed_generation_count: i32,
pub no_writers_generation_count: i32,
pub sample_rank: i32,
pub generation_rank: i32,
pub absolute_generation_rank: i32,
pub source_timestamp: Time,
pub instance_handle: InstanceHandle,
pub publication_handle: InstanceHandle,
pub valid_data: bool,
}Expand description
SampleInfo (DDS 1.4 §2.2.2.5.1) — Metadaten pro Sample.
Wird vom DataReader im take/read-Pfad gefuellt. Application-
Code soll sich auf diese Felder verlassen, um:
- neue Samples vs. wiederholt gelesene zu unterscheiden
(
sample_state), - neue Instanzen zu erkennen (
view_state == NEW), - Lifecycle-Events zu sehen (
instance_state,valid_data == false), - Reordering / Generations-Wechsel zu folgen (
*_generation_count,*_rank).
Fields§
§sample_state: SampleStateKindSample-State (READ / NOT_READ).
view_state: ViewStateKindView-State (NEW / NOT_NEW).
instance_state: InstanceStateKindInstance-State (ALIVE / NOT_ALIVE_*).
disposed_generation_count: i32Wieviele Mal die Instanz NOT_ALIVE_DISPOSED → ALIVE durchlaufen
hat seit ihrem ersten Sample.
no_writers_generation_count: i32Wieviele Mal die Instanz NOT_ALIVE_NO_WRITERS → ALIVE
durchlaufen hat seit ihrem ersten Sample.
sample_rank: i32Anzahl Samples in derselben Instanz, die nach diesem im Cache stehen (§2.2.2.5.1.5).
generation_rank: i32Differenz generation_count zwischen diesem und dem letzten
Sample der Instanz im selben Read-Set.
absolute_generation_rank: i32Differenz generation_count zwischen diesem und dem aktuellen
Generation-Count.
source_timestamp: TimeWall-Clock-Zeitpunkt des write/dispose/unregister.
instance_handle: InstanceHandleLokaler Handle der Instanz.
publication_handle: InstanceHandleLokaler Handle des sendenden DataWriters (im offline / unbekannten
Fall HANDLE_NIL).
valid_data: booltrue wenn das Sample Nutzdaten enthaelt; false bei
reinem Dispose-/Unregister-Marker (§2.2.2.5.1.13).
Implementations§
Source§impl SampleInfo
impl SampleInfo
Sourcepub fn new_alive(
instance: InstanceHandle,
publication: InstanceHandle,
timestamp: Time,
) -> Self
pub fn new_alive( instance: InstanceHandle, publication: InstanceHandle, timestamp: Time, ) -> Self
Konstruiert einen Default-Info-Block fuer ein frisches Sample
einer neuen Instanz mit valid_data = true.
Trait Implementations§
Source§impl Clone for SampleInfo
impl Clone for SampleInfo
Source§fn clone(&self) -> SampleInfo
fn clone(&self) -> SampleInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SampleInfo
impl Debug for SampleInfo
Source§impl Default for SampleInfo
impl Default for SampleInfo
Source§impl PartialEq for SampleInfo
impl PartialEq for SampleInfo
Source§fn eq(&self, other: &SampleInfo) -> bool
fn eq(&self, other: &SampleInfo) -> bool
self and other values to be equal, and is used by ==.