pub struct StatMsgV1 {
pub hd: RecordHeader,
pub ts_recv: u64,
pub ts_ref: u64,
pub price: i64,
pub quantity: i32,
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: i32The 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 StatMsgV1
impl<'de> Deserialize<'de> for StatMsgV1
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, 'py> FromPyObject<'a, 'py> for StatMsgV1where
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for StatMsgV1where
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for StatMsgV1
impl<'py> IntoPyObject<'py> for StatMsgV1
Source§type Output = Bound<'py, <StatMsgV1 as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <StatMsgV1 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 StatMsgV1
impl PartialOrd for StatMsgV1
Source§impl PyClassImpl for StatMsgV1
impl PyClassImpl for StatMsgV1
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 Layout = <<StatMsgV1 as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<StatMsgV1>
type Layout = <<StatMsgV1 as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<StatMsgV1>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
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
Source§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
fn lazy_type_object() -> &'static LazyTypeObject<Self>
Source§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
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<StatMsgV1> for PyClassImplCollector<StatMsg>
Available on crate feature python only.
impl PyMethods<StatMsgV1> for PyClassImplCollector<StatMsg>
python only.fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for StatMsgV1
impl PyTypeInfo for StatMsgV1
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
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 StatMsgV1
impl Record for StatMsgV1
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 StatMsgV1
impl RecordMut for StatMsgV1
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
const UNDEF_STAT_QUANTITY: i64
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.Source§impl WritePyRepr for StatMsgV1
Available on crate feature python only.
impl WritePyRepr for StatMsgV1
python only.Source§fn write_py_repr(&self, s: &mut String) -> Result
fn write_py_repr(&self, s: &mut String) -> Result
s. Read moreSource§const SHOULD_FLATTEN: bool = false
const SHOULD_FLATTEN: bool = false
impl Copy for StatMsgV1
impl DerefToPyAny for StatMsgV1
impl Eq for StatMsgV1
impl StructuralPartialEq for StatMsgV1
Auto Trait Implementations§
impl Freeze for StatMsgV1
impl RefUnwindSafe for StatMsgV1
impl Send for StatMsgV1
impl Sync for StatMsgV1
impl Unpin for StatMsgV1
impl UnsafeUnpin for StatMsgV1
impl UnwindSafe for StatMsgV1
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<'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.Source§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
Source§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
Source§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.