pub struct BybitWebsocketTrading { /* private fields */ }Expand description
Bybit WebSocket trading client
Provides high-performance WebSocket trading functionality for Bybit exchange with support for V5 unified API, batch operations, and connection health monitoring.
Implementations§
Source§impl BybitWebsocketTrading
impl BybitWebsocketTrading
Sourcepub fn new(
auth: Arc<BybitAuth>,
account_type: SmartString,
testnet: bool,
) -> Self
pub fn new( auth: Arc<BybitAuth>, account_type: SmartString, testnet: bool, ) -> Self
Create a new Bybit WebSocket trading instance
Sourcepub fn get_connection_health(&self) -> ConnectionHealth
pub fn get_connection_health(&self) -> ConnectionHealth
Get connection health status
Sourcepub fn set_rest_client(&mut self, rest_client: Arc<BybitRestClient>)
pub fn set_rest_client(&mut self, rest_client: Arc<BybitRestClient>)
Set REST client for V5 account features (optional)
Sourcepub async fn get_account_info(&self) -> Result<BybitAccountInfo>
pub async fn get_account_info(&self) -> Result<BybitAccountInfo>
Get and cache account information for V5 compliance
Sourcepub async fn supports_unified_features(&self) -> Result<bool>
pub async fn supports_unified_features(&self) -> Result<bool>
Check if account supports V5 unified features
Sourcepub async fn supports_uta2_features(&self) -> Result<bool>
pub async fn supports_uta2_features(&self) -> Result<bool>
Check if account supports UTA 2.0 advanced features
Sourcepub async fn refresh_instrument_cache(&self) -> Result<()>
pub async fn refresh_instrument_cache(&self) -> Result<()>
Refresh instrument cache for all symbols in use
Sourcepub fn get_instrument_info(&self, symbol: &str) -> Option<InstrumentInfo>
pub fn get_instrument_info(&self, symbol: &str) -> Option<InstrumentInfo>
Get cached instrument info for a symbol
Sourcepub fn cleanup_instrument_cache(&self)
pub fn cleanup_instrument_cache(&self)
Clear expired entries from instrument cache
Trait Implementations§
Source§impl Exchange for BybitWebsocketTrading
impl Exchange for BybitWebsocketTrading
Source§fn place_order<'life0, 'async_trait>(
&'life0 self,
order: Order,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn place_order<'life0, 'async_trait>(
&'life0 self,
order: Order,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Places a new order on the exchange
Source§fn cancel_order<'life0, 'async_trait>(
&'life0 self,
order_id: SmartString,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_order<'life0, 'async_trait>(
&'life0 self,
order_id: SmartString,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Cancels an existing order
Source§fn modify_order<'life0, 'async_trait>(
&'life0 self,
order_id: SmartString,
new_price: Option<Decimal>,
new_quantity: Option<Decimal>,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn modify_order<'life0, 'async_trait>(
&'life0 self,
order_id: SmartString,
new_price: Option<Decimal>,
new_quantity: Option<Decimal>,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Modifies an existing order
Source§fn cancel_all_orders<'life0, 'async_trait>(
&'life0 self,
instrument_id: Option<InstrumentId>,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_all_orders<'life0, 'async_trait>(
&'life0 self,
instrument_id: Option<InstrumentId>,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Cancels all open orders, optionally filtered by instrument
Source§fn get_order_status<'life0, 'life1, 'async_trait>(
&'life0 self,
order_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<OrderStatus>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_order_status<'life0, 'life1, 'async_trait>(
&'life0 self,
order_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<OrderStatus>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves the status of an order
Source§fn connect<'life0, 'async_trait>(
&'life0 self,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect<'life0, 'async_trait>(
&'life0 self,
report_sender: Sender<ExecutionReport>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Connects to the exchange
Source§fn disconnect<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn disconnect<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Disconnects from the exchange
Source§fn is_connected<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn is_connected<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Checks if connected to the exchange
Source§fn get_instruments<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SmallVec<[InstrumentId; 32]>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_instruments<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SmallVec<[InstrumentId; 32]>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets a list of instruments supported by this exchange
Auto Trait Implementations§
impl Freeze for BybitWebsocketTrading
impl !RefUnwindSafe for BybitWebsocketTrading
impl Send for BybitWebsocketTrading
impl Sync for BybitWebsocketTrading
impl Unpin for BybitWebsocketTrading
impl !UnwindSafe for BybitWebsocketTrading
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