pub(crate) trait OrderExecution {
// Required methods
async fn allocate_and_ack(
&mut self,
request: &UnifiedEngineRequest,
order_info: &OrderInfo,
wallet: &WalletAddress,
timestamp: u64,
) -> AllocatedOrder;
async fn execute_matching(
&mut self,
order_id: u64,
order_info: &OrderInfo,
wallet: &WalletAddress,
timestamp: u64,
) -> MatchingResult;
async fn finalize_order(
&mut self,
request: &UnifiedEngineRequest,
order_id: u64,
order_info: &OrderInfo,
wallet: &WalletAddress,
timestamp: u64,
result: &MatchingResult,
);
}Expand description
Order execution pipeline after admission.
Required Methods§
async fn allocate_and_ack( &mut self, request: &UnifiedEngineRequest, order_info: &OrderInfo, wallet: &WalletAddress, timestamp: u64, ) -> AllocatedOrder
async fn execute_matching( &mut self, order_id: u64, order_info: &OrderInfo, wallet: &WalletAddress, timestamp: u64, ) -> MatchingResult
async fn finalize_order( &mut self, request: &UnifiedEngineRequest, order_id: u64, order_info: &OrderInfo, wallet: &WalletAddress, timestamp: u64, result: &MatchingResult, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.