pub struct StatMsg {
pub hd: RecordHeader,
pub ts_recv: u64,
pub ts_ref: u64,
pub price: i64,
pub quantity: i64,
pub sequence: u32,
pub ts_in_delta: i32,
pub stat_type: u16,
pub channel_id: u16,
pub update_action: u8,
pub stat_flags: u8,
/* private fields */
}Expand description
A statistics message. A catchall for various data disseminated by publishers. The
stat_type indicates the statistic contained in the message.
Fields§
§hd: RecordHeaderThe common header.
ts_recv: u64The capture-server-received timestamp expressed as the number of nanoseconds since the UNIX epoch.
See ts_recv.
ts_ref: u64The reference timestamp of the statistic value expressed as the number of
nanoseconds since the UNIX epoch. Will be UNDEF_TIMESTAMP when
unused.
price: i64The value for price statistics where every 1 unit corresponds to 1e-9, i.e.
1/1,000,000,000 or 0.000000001. Will be UNDEF_PRICE
when unused.
See Prices.
quantity: i64The value for non-price statistics. Will be UNDEF_STAT_QUANTITY
when unused.
sequence: u32The message sequence number assigned at the venue.
ts_in_delta: i32The matching-engine-sending timestamp expressed as the number of nanoseconds before
ts_recv.
See ts_in_delta.
stat_type: u16The type of statistic value contained in the message. Refer to the
StatType enum for possible variants.
channel_id: u16The channel ID assigned by Databento as an incrementing integer starting at zero.
update_action: u8Indicates if the statistic is newly added (1) or deleted (2). (Deleted is only used with some stat types).
stat_flags: u8Additional flags associate with certain stat types.
Implementations§
Source§impl StatMsg
impl StatMsg
Sourcepub fn ts_recv(&self) -> Option<OffsetDateTime>
pub fn ts_recv(&self) -> Option<OffsetDateTime>
Parses the capture-server-received timestamp into a datetime.
Returns None if ts_recv contains the sentinel for a null timestamp.
Sourcepub fn ts_ref(&self) -> Option<OffsetDateTime>
pub fn ts_ref(&self) -> Option<OffsetDateTime>
Parses the reference timestamp of the statistic value into a datetime.
Returns None if ts_ref contains the sentinel for a null timestamp.
Sourcepub fn price_f64(&self) -> f64
pub fn price_f64(&self) -> f64
Converts the value for price statistics to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn ts_in_delta(&self) -> Duration
pub fn ts_in_delta(&self) -> Duration
Parses the difference between ts_recv and the matching-engine-sending timestamp into a duration.
Sourcepub fn update_action(&self) -> Result<StatUpdateAction>
pub fn update_action(&self) -> Result<StatUpdateAction>
Parses the update action into an enum.
§Errors
This function returns an error if the update_action field does not
contain a valid StatUpdateAction.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for StatMsg
impl<'de> Deserialize<'de> for StatMsg
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a> From<&'a StatMsg> for RecordRefEnum<'a>
impl<'a> From<&'a StatMsg> for RecordRefEnum<'a>
Source§impl From<StatMsg> for RecordEnum
impl From<StatMsg> for RecordEnum
Source§impl<'py> IntoPyObject<'py> for StatMsg
impl<'py> IntoPyObject<'py> for StatMsg
Source§type Output = Bound<'py, <StatMsg as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <StatMsg as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PartialOrd for StatMsg
impl PartialOrd for StatMsg
Source§impl PyClassImpl for StatMsg
impl PyClassImpl for StatMsg
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// A statistics message. A catchall for various data disseminated by publishers. The
/// [`stat_type`](Self::stat_type) indicates the statistic contained in the message.
const RAW_DOC: &'static CStr = /// A statistics message. A catchall for various data disseminated by publishers. The /// [`stat_type`](Self::stat_type) indicates the statistic contained in the message.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<StatMsg>
type ThreadChecker = SendablePyClass<StatMsg>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn dict_offset() -> Option<Py_ssize_t>
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature for StatMsg
Available on crate feature python only.
impl PyClassNewTextSignature for StatMsg
python only.const TEXT_SIGNATURE: &'static str = "(publisher_id, instrument_id, ts_event, ts_recv, ts_ref, price, quantity, stat_type, sequence=0, ts_in_delta=0, channel_id=None, update_action=None, stat_flags=0)"
Source§impl PyMethods<StatMsg> for PyClassImplCollector<StatMsg>
Available on crate feature python only.
impl PyMethods<StatMsg> for PyClassImplCollector<StatMsg>
python only.fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for StatMsg
impl PyTypeInfo for StatMsg
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Source§impl Record for StatMsg
impl Record for StatMsg
Source§fn header(&self) -> &RecordHeader
fn header(&self) -> &RecordHeader
RecordHeader that comes at the beginning of all
record types.Source§fn raw_index_ts(&self) -> u64
fn raw_index_ts(&self) -> u64
Source§fn record_size(&self) -> usize
fn record_size(&self) -> usize
Source§fn rtype(&self) -> Result<RType>
fn rtype(&self) -> Result<RType>
Source§fn publisher(&self) -> Result<Publisher>
fn publisher(&self) -> Result<Publisher>
publisher_id into an enum which is useful for
exhaustive pattern matching. Read moreSource§fn index_ts(&self) -> Option<OffsetDateTime>
fn index_ts(&self) -> Option<OffsetDateTime>
None if the primary
timestamp contains the sentinel value for a null timestamp. Read moreSource§fn index_date(&self) -> Option<Date>
fn index_date(&self) -> Option<Date>
index_ts()). Returns None if the primary timestamp contains the
sentinel value for a null timestamp.Source§impl RecordMut for StatMsg
impl RecordMut for StatMsg
Source§fn header_mut(&mut self) -> &mut RecordHeader
fn header_mut(&mut self) -> &mut RecordHeader
RecordHeader that comes at the beginning of
all record types.Source§impl StatRec for StatMsg
impl StatRec for StatMsg
Source§const UNDEF_STAT_QUANTITY: i64 = 9_223_372_036_854_775_807i64
const UNDEF_STAT_QUANTITY: i64 = 9_223_372_036_854_775_807i64
quantity.Source§fn stat_type(&self) -> Result<StatType>
fn stat_type(&self) -> Result<StatType>
Source§fn ts_recv(&self) -> Option<OffsetDateTime>
fn ts_recv(&self) -> Option<OffsetDateTime>
None
if ts_recv contains the sentinel for a null timestamp.Source§fn ts_ref(&self) -> Option<OffsetDateTime>
fn ts_ref(&self) -> Option<OffsetDateTime>
None if ts_ref contains the sentinel for a null timestamp.Source§fn update_action(&self) -> Result<StatUpdateAction>
fn update_action(&self) -> Result<StatUpdateAction>
update_action to an enum. Read moreSource§fn price(&self) -> i64
fn price(&self) -> i64
UNDEF_PRICE when unused.impl Copy for StatMsg
impl DerefToPyAny for StatMsg
impl Eq for StatMsg
impl StructuralPartialEq for StatMsg
Auto Trait Implementations§
impl Freeze for StatMsg
impl RefUnwindSafe for StatMsg
impl Send for StatMsg
impl Sync for StatMsg
impl Unpin for StatMsg
impl UnwindSafe for StatMsg
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromPyObject<'_> for T
impl<T> FromPyObject<'_> for T
Source§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
Source§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
Source§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.