Skip to main content

OrderExecution

Trait OrderExecution 

Source
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§

Source

async fn allocate_and_ack( &mut self, request: &UnifiedEngineRequest, order_info: &OrderInfo, wallet: &WalletAddress, timestamp: u64, ) -> AllocatedOrder

Source

async fn execute_matching( &mut self, order_id: u64, order_info: &OrderInfo, wallet: &WalletAddress, timestamp: u64, ) -> MatchingResult

Source

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.

Implementors§