pub struct SubmitOrderRing {
pub id: MessageId,
pub correlation_id: CorrelationId,
pub order_id: u64,
pub symbol_id: u32,
pub side: RingSide,
pub order_type: RingOrderType,
pub price: i64,
pub quantity: u64,
pub trader_id: u64,
pub timestamp: u64,
}Expand description
Ring message for submitting a single order.
This is the primary message type for ultra-low latency order submission. Type ID: 500 (OrderMatching.base + 0)
Fields§
§id: MessageIdMessage ID for tracking.
correlation_id: CorrelationIdCorrelation ID for request-response pairing.
order_id: u64Order ID.
symbol_id: u32Symbol ID.
side: RingSideOrder side.
order_type: RingOrderTypeOrder type.
price: i64Price (fixed-point, 0 for market orders).
quantity: u64Quantity (fixed-point).
trader_id: u64Trader ID.
timestamp: u64Timestamp (nanoseconds).
Implementations§
Source§impl SubmitOrderRing
impl SubmitOrderRing
Sourcepub fn limit(
order_id: u64,
symbol_id: u32,
side: Side,
price: Price,
quantity: Quantity,
trader_id: u64,
timestamp: u64,
) -> Self
pub fn limit( order_id: u64, symbol_id: u32, side: Side, price: Price, quantity: Quantity, trader_id: u64, timestamp: u64, ) -> Self
Create a new limit order submission message.
Trait Implementations§
Source§impl Archive for SubmitOrderRing
impl Archive for SubmitOrderRing
Source§type Archived = ArchivedSubmitOrderRing
type Archived = ArchivedSubmitOrderRing
The archived representation of this type. Read more
Source§type Resolver = SubmitOrderRingResolver
type Resolver = SubmitOrderRingResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for SubmitOrderRing
impl Clone for SubmitOrderRing
Source§fn clone(&self) -> SubmitOrderRing
fn clone(&self) -> SubmitOrderRing
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SubmitOrderRing
impl Debug for SubmitOrderRing
Source§impl<__D: Fallible + ?Sized> Deserialize<SubmitOrderRing, __D> for Archived<SubmitOrderRing>where
MessageId: Archive,
Archived<MessageId>: Deserialize<MessageId, __D>,
CorrelationId: Archive,
Archived<CorrelationId>: Deserialize<CorrelationId, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
RingSide: Archive,
Archived<RingSide>: Deserialize<RingSide, __D>,
RingOrderType: Archive,
Archived<RingOrderType>: Deserialize<RingOrderType, __D>,
i64: Archive,
Archived<i64>: Deserialize<i64, __D>,
impl<__D: Fallible + ?Sized> Deserialize<SubmitOrderRing, __D> for Archived<SubmitOrderRing>where
MessageId: Archive,
Archived<MessageId>: Deserialize<MessageId, __D>,
CorrelationId: Archive,
Archived<CorrelationId>: Deserialize<CorrelationId, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
RingSide: Archive,
Archived<RingSide>: Deserialize<RingSide, __D>,
RingOrderType: Archive,
Archived<RingOrderType>: Deserialize<RingOrderType, __D>,
i64: Archive,
Archived<i64>: Deserialize<i64, __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<SubmitOrderRing, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<SubmitOrderRing, __D::Error>
Deserializes using the given deserializer
Source§impl RingKernelHandler<SubmitOrderRing, SubmitOrderResponse> for OrderMatchingEngine
Ring kernel handler for ultra-low latency order submission.
impl RingKernelHandler<SubmitOrderRing, SubmitOrderResponse> for OrderMatchingEngine
Ring kernel handler for ultra-low latency order submission.
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: SubmitOrderRing,
) -> Pin<Box<dyn Future<Output = KernelResult<SubmitOrderResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: SubmitOrderRing,
) -> Pin<Box<dyn Future<Output = KernelResult<SubmitOrderResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle an incoming message. Read more
Source§fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Initialize the kernel state. Read more
Source§fn shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Called when the kernel is being shut down. Read more
Source§impl RingMessage for SubmitOrderRing
impl RingMessage for SubmitOrderRing
Source§fn message_type() -> u64
fn message_type() -> u64
Get the message type discriminator.
Source§fn message_id(&self) -> MessageId
fn message_id(&self) -> MessageId
Get the message ID.
Source§fn correlation_id(&self) -> CorrelationId
fn correlation_id(&self) -> CorrelationId
Get the correlation ID (if any).
Auto Trait Implementations§
impl Freeze for SubmitOrderRing
impl RefUnwindSafe for SubmitOrderRing
impl Send for SubmitOrderRing
impl Sync for SubmitOrderRing
impl Unpin for SubmitOrderRing
impl UnwindSafe for SubmitOrderRing
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.