pub struct IdsGenerator { /* private fields */ }Expand description
Generates venue order, position, and trade identifiers.
Implementations§
Source§impl IdsGenerator
impl IdsGenerator
Sourcepub const fn new(
venue: Venue,
oms_type: OmsType,
raw_id: u32,
use_random_ids: bool,
use_position_ids: bool,
cache: Rc<RefCell<Cache>>,
) -> Self
pub const fn new( venue: Venue, oms_type: OmsType, raw_id: u32, use_random_ids: bool, use_position_ids: bool, cache: Rc<RefCell<Cache>>, ) -> Self
Creates a new identifier generator.
Sourcepub fn get_venue_order_id(&mut self, order: &OrderAny) -> Result<VenueOrderId>
pub fn get_venue_order_id(&mut self, order: &OrderAny) -> Result<VenueOrderId>
Retrieves or generates a unique venue order ID for the given order.
§Errors
Returns an error if ID generation fails.
Sourcepub fn get_position_id(
&mut self,
order: &OrderAny,
generate: Option<bool>,
) -> Option<PositionId>
pub fn get_position_id( &mut self, order: &OrderAny, generate: Option<bool>, ) -> Option<PositionId>
Retrieves or generates a position ID for the given order.
§Panics
Panics if generate is Some(true) but no cached position ID is available.
Sourcepub fn generate_trade_id(&mut self, ts_init: UnixNanos) -> TradeId
pub fn generate_trade_id(&mut self, ts_init: UnixNanos) -> TradeId
Generates a deterministic trade ID.
§Panics
Panics if overflow checks are enabled and the execution counter overflows, or if the generated trade ID exceeds 36 characters.
Sourcepub fn generate_venue_position_id(&mut self) -> Option<PositionId>
pub fn generate_venue_position_id(&mut self) -> Option<PositionId>
Generates a venue position ID when position IDs are enabled.
Sourcepub fn generate_venue_order_id(&mut self) -> VenueOrderId
pub fn generate_venue_order_id(&mut self) -> VenueOrderId
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for IdsGenerator
impl !Send for IdsGenerator
impl !Sync for IdsGenerator
impl !UnwindSafe for IdsGenerator
impl Freeze for IdsGenerator
impl Unpin for IdsGenerator
impl UnsafeUnpin for IdsGenerator
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
Mutably borrows from an owned value. Read more