1#![cfg_attr(test, allow(clippy::unwrap_used, clippy::assertions_on_constants))]
2#![allow(clippy::needless_range_loop)]
3
4pub mod auth;
36pub mod collections;
37pub mod const_fn_candidates;
38pub mod constants;
39pub mod decimal_utils;
40pub mod error;
42pub mod error_utils;
43pub mod http;
44pub mod json;
45pub mod memory;
46pub mod pools;
47pub mod simd_macros;
48pub mod simd_price_ops;
49pub mod strings;
50pub mod time;
51pub mod types;
52pub mod utils;
53pub mod vectorized;
54pub mod websocket;
55pub mod zero_alloc_message;
56pub mod zerocopy;
57
58#[cfg(test)]
59mod smartstring_pattern_tests;
60
61#[cfg(test)]
62mod auth_smartstring_tests;
63
64#[cfg(test)]
65mod common_smartstring_tests;
66
67pub use collections::{
69 FxHashMap, FxHashSet, SmallFeatureVec, SmallOrderVec, SmallPriceLevelVec, SmallSymbolVec,
70 SmallTradeVec, SmallVec,
71};
72pub use error::{CommonError, Result};
73pub use error_utils::{AnyhowErrorExt, ErrorMessages};
74pub use memory::{
75 HftBufferHandle,
76 HftBufferPool,
77 HftPoolManager,
79 OrderHandle,
80 OrderPool,
81 PooledOrder,
82 PooledTrade,
83 TradeHandle,
84 TradePool,
85 TradingPoolManager,
86 get_global_trading_pools,
87 global_hft_pools,
88 with_hft_pools,
89 with_thread_local_pools,
90};
91pub use pools::{
92 GenericPool, OrderPoolFactory, OrderPoolTemplate, PoolFactory, PoolStats,
93 borrow_from_global_pool, global_pool_stats, return_to_global_pool, set_global_order_pool,
94 with_global_order_pool,
95};
96pub use simd_price_ops::{SimdPriceCalculator, simd_price_impact, simd_spreads, simd_vwap};
97pub use smartstring::alias::String as SmartString;
100pub use strings::{ClientOrderId, CurrencyCode, ExchangeName, OrderId, TradeId};
101pub use time::{get_timestamp_ms, get_timestamp_ns_result};
102pub use types::{Exchange, Symbol};
103pub use utils::id_generation;
104pub use vectorized::{AlignedBuffer32, AlignedBuffer64, LegacyAlignedBuffer};
105pub use zero_alloc_message::{
106 MessageType, ZeroAllocMarketData, ZeroAllocMessageProcessor, ZeroAllocOrderUpdate,
107};
108pub use zerocopy::{
109 BorrowedValueExt,
111 BufferedStringOps,
113 ExchangeJsonZeroCopy,
114 JsonBufferManager,
116 UnifiedBufferManager,
117 UnifiedBufferStats,
119 UnifiedStringUtils,
120 WebSocketJsonZeroCopy,
121 ZeroCopyBufferManager,
122 ZeroCopyCollections,
124 ZeroCopyJson,
125 ZeroCopyMessage,
126 ZeroCopySlice,
127 ZeroCopyStringUtils,
128 with_buffer_manager,
129 with_json_buffer_manager,
130 with_unified_buffer_manager,
131};