pub trait DataMarkerExtractor: Send + Sync {
// Required methods
fn data_class(&self) -> DataClass;
fn identifier(&self, msg: &dyn Any) -> Option<String>;
fn timestamps(&self, msg: &dyn Any) -> Option<(UnixNanos, UnixNanos)>;
fn fingerprint(&self, msg: &dyn Any) -> Option<[u8; 32]>;
}Expand description
Extracts marker sidecar fields from a concrete market-data message.
The bus tap passes messages as &dyn Any, so implementations downcast to the type they were
registered for and return None when the registry is miswired.
Required Methods§
Sourcefn data_class(&self) -> DataClass
fn data_class(&self) -> DataClass
Returns the data class handled by this extractor.
Sourcefn identifier(&self, msg: &dyn Any) -> Option<String>
fn identifier(&self, msg: &dyn Any) -> Option<String>
Returns the stable stream identifier for the message.
Sourcefn timestamps(&self, msg: &dyn Any) -> Option<(UnixNanos, UnixNanos)>
fn timestamps(&self, msg: &dyn Any) -> Option<(UnixNanos, UnixNanos)>
Returns (ts_event, ts_init) for the message.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".