Struct cbadv::websocket::WebSocketClient
source · pub struct WebSocketClient { /* private fields */ }
Expand description
Represents a Client for the Websocket API. Provides easy-access to subscribing and listening to the WebSocket.
Implementations§
source§impl WebSocketClient
impl WebSocketClient
sourcepub fn new(key: &str, secret: &str) -> Self
pub fn new(key: &str, secret: &str) -> Self
Creates a new instance of a Client. This is a wrapper for Signer and contains a socket to the WebSocket.
Arguments
key
- A string that holds the key for the API service.secret
- A string that holds the secret for the API service.
sourcepub async fn connect(&mut self) -> Result<WebSocketReader>
pub async fn connect(&mut self) -> Result<WebSocketReader>
Connects to the WebSocket. This is required before subscribing, unsubscribing, and
listening for updates. A reader is returned to allow for listener
to parse events.
sourcepub async fn listener(reader: WebSocketReader, callback: Callback)
pub async fn listener(reader: WebSocketReader, callback: Callback)
Starts the listener which returns Messages via a callback function provided by the user. This allows the user to get objects out of the WebSocket stream for additional processing. the WebSocket. If it is unable to parse an object received, the user is supplied CBAdvError::BadParse along with the data it failed to parse.
Arguments
reader
- Allows the listener to receive messages. `Obtained from connect``.callback
- A callback function that is trigger and passed the Message received via WebSocket, if an error occurred.
sourcepub async fn listener_with<T>(reader: WebSocketReader, callback_obj: T)where
T: MessageCallback,
pub async fn listener_with<T>(reader: WebSocketReader, callback_obj: T)where T: MessageCallback,
Starts the listener with a callback object that implements the MessageCallback
trait.
This allows the user to get objects out of the WebSocket stream for additional processing.
the WebSocket. If it is unable to parse an object received, the user is supplied
CBAdvError::BadParse along with the data it failed to parse.
Arguments
reader
- Allows the listener to receive messages. `Obtained from connect``.callback_obj
- A callback object that implementsMessageCallback
trait.
sourcepub async fn subscribe(
&mut self,
channel: Channel,
product_ids: &Vec<String>
) -> Result<()>
pub async fn subscribe( &mut self, channel: Channel, product_ids: &Vec<String> ) -> Result<()>
Subscribes to the Channel provided with interests in the specified product IDs.
These updates can be viewed with calling the listen
function and setting a callback to
receive the Messages on.
Arguments
channel
- The Channel that is being subscribed to.product_ids
- A vector of product IDs to listen for.
sourcepub async fn sub(
&mut self,
channel: Channel,
product_ids: &Vec<String>
) -> Result<()>
pub async fn sub( &mut self, channel: Channel, product_ids: &Vec<String> ) -> Result<()>
Shorthand version of subscribe
.
Arguments
channel
- The Channel that is being subscribed to.product_ids
- A vector of product IDs to listen for.
sourcepub async fn unsubscribe(
&mut self,
channel: Channel,
product_ids: &Vec<String>
) -> Result<()>
pub async fn unsubscribe( &mut self, channel: Channel, product_ids: &Vec<String> ) -> Result<()>
Unsubscribes from the product IDs for the Channel provided. This will stop additional updates
coming in via the listener
for these products.
Arguments
channel
- The Channel that is being changed to.product_ids
- A vector of product IDs to no longer listen for.
sourcepub async fn unsub(
&mut self,
channel: Channel,
product_ids: &Vec<String>
) -> Result<()>
pub async fn unsub( &mut self, channel: Channel, product_ids: &Vec<String> ) -> Result<()>
Shorthand version of unsubscribe
.
Arguments
channel
- The Channel that is being changed to.product_ids
- A vector of product IDs to no longer listen for.
sourcepub async fn watch_candles<T>(
&mut self,
products: &Vec<String>,
watcher: T
) -> Result<JoinHandle<()>>where
T: CandleCallback + Send + 'static,
pub async fn watch_candles<T>( &mut self, products: &Vec<String>, watcher: T ) -> Result<JoinHandle<()>>where T: CandleCallback + Send + 'static,
Watches candles for a set of products, producing candles once they are considered complete.
Argument
products
- Products to watch for candles for.watcher
- User-defined struct that implementsCandleCallback
to send completed candles to.