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

source

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.
source

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.

source

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.
source

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 implements MessageCallback trait.
source

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.
source

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.
source

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.
source

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.
source

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 implements CandleCallback to send completed candles to.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more