pub struct OrderRouter { /* private fields */ }Expand description
Smart order router
Implementations§
Source§impl OrderRouter
impl OrderRouter
Sourcepub fn new(strategy: RoutingStrategy) -> Self
pub fn new(strategy: RoutingStrategy) -> Self
Create a new order router
Sourcepub fn add_broker(self, broker: Arc<dyn BrokerClient>, name: String) -> Self
pub fn add_broker(self, broker: Arc<dyn BrokerClient>, name: String) -> Self
Add a broker to the router
Sourcepub async fn route_order(&self, order: OrderRequest) -> Result<OrderResponse>
pub async fn route_order(&self, order: OrderRequest) -> Result<OrderResponse>
Route an order to the best available broker
Sourcepub fn get_broker_status(&self) -> Vec<(String, bool)>
pub fn get_broker_status(&self) -> Vec<(String, bool)>
Get broker health status
Sourcepub fn available_brokers(&self) -> usize
pub fn available_brokers(&self) -> usize
Get number of available brokers
Auto Trait Implementations§
impl !Freeze for OrderRouter
impl !RefUnwindSafe for OrderRouter
impl Send for OrderRouter
impl Sync for OrderRouter
impl Unpin for OrderRouter
impl !UnwindSafe for OrderRouter
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