nautilus_model/identifiers/
mod.rs1use serde::{Deserialize, Deserializer, Serialize, Serializer};
29
30#[macro_use]
31mod macros;
32
33pub mod account_id;
34pub mod actor_id;
35pub mod client_id;
36pub mod client_order_id;
37pub mod component_id;
38pub mod exec_algorithm_id;
39pub mod instrument_id;
40pub mod option_series_id;
41pub mod order_list_id;
42pub mod position_id;
43pub mod strategy_id;
44pub mod symbol;
45pub mod trade_id;
46pub mod trader_id;
47pub mod venue;
48pub mod venue_order_id;
49
50#[cfg(any(test, feature = "stubs"))]
51pub mod stubs;
52
53pub use crate::identifiers::{
55 account_id::AccountId, actor_id::ActorId, client_id::ClientId, client_order_id::ClientOrderId,
56 component_id::ComponentId, exec_algorithm_id::ExecAlgorithmId, instrument_id::InstrumentId,
57 option_series_id::OptionSeriesId, order_list_id::OrderListId, position_id::PositionId,
58 strategy_id::StrategyId, symbol::Symbol, trade_id::TradeId, trader_id::TraderId, venue::Venue,
59 venue_order_id::VenueOrderId,
60};
61
62impl_from_str_for_identifier!(account_id::AccountId);
63impl_from_str_for_identifier!(actor_id::ActorId);
64impl_from_str_for_identifier!(client_id::ClientId);
65impl_from_str_for_identifier!(client_order_id::ClientOrderId);
66impl_from_str_for_identifier!(component_id::ComponentId);
67impl_from_str_for_identifier!(exec_algorithm_id::ExecAlgorithmId);
68impl_from_str_for_identifier!(order_list_id::OrderListId);
69impl_from_str_for_identifier!(position_id::PositionId);
70impl_from_str_for_identifier!(strategy_id::StrategyId);
71impl_from_str_for_identifier!(symbol::Symbol);
72impl_from_str_for_identifier!(trade_id::TradeId);
73impl_from_str_for_identifier!(trader_id::TraderId);
74impl_from_str_for_identifier!(venue::Venue);
75impl_from_str_for_identifier!(venue_order_id::VenueOrderId);
76
77impl_serialization_for_identifier!(account_id::AccountId);
78impl_serialization_for_identifier!(actor_id::ActorId);
79impl_serialization_for_identifier!(client_id::ClientId);
80impl_serialization_for_identifier!(client_order_id::ClientOrderId);
81impl_serialization_for_identifier!(component_id::ComponentId);
82impl_serialization_for_identifier!(exec_algorithm_id::ExecAlgorithmId);
83impl_serialization_for_identifier!(order_list_id::OrderListId);
84impl_serialization_for_identifier!(strategy_id::StrategyId);
85impl_serialization_for_identifier!(trader_id::TraderId);
86impl_serialization_for_identifier!(venue::Venue);
87impl_serialization_for_identifier!(venue_order_id::VenueOrderId);
88
89impl_serialization_for_identifier_utf8!(position_id::PositionId);
90impl_serialization_for_identifier_utf8!(symbol::Symbol);
91
92impl_as_ref_for_identifier!(account_id::AccountId);
93impl_as_ref_for_identifier!(actor_id::ActorId);
94impl_as_ref_for_identifier!(client_id::ClientId);
95impl_as_ref_for_identifier!(client_order_id::ClientOrderId);
96impl_as_ref_for_identifier!(component_id::ComponentId);
97impl_as_ref_for_identifier!(exec_algorithm_id::ExecAlgorithmId);
98impl_as_ref_for_identifier!(order_list_id::OrderListId);
99impl_as_ref_for_identifier!(position_id::PositionId);
100impl_as_ref_for_identifier!(strategy_id::StrategyId);
101impl_as_ref_for_identifier!(symbol::Symbol);
102impl_as_ref_for_identifier!(trader_id::TraderId);
103impl_as_ref_for_identifier!(venue::Venue);
104impl_as_ref_for_identifier!(venue_order_id::VenueOrderId);
105
106pub fn interned_string_stats() {
108 ustr::total_allocated();
109 ustr::total_capacity();
110
111 ustr::string_cache_iter().for_each(|s| println!("{s}"));
112}