Skip to main content

Topic

Enum Topic 

Source
pub enum Topic {
    AggTrade {
        symbol: String,
    },
    Depth {
        symbol: String,
        depth: OrderbookDepth,
    },
    BookTicker {
        symbol: String,
    },
    MarkPrice {
        symbol: String,
    },
    Kline {
        symbol: String,
        interval: KlineInterval,
    },
    ForceOrder {
        symbol: String,
    },
    AllTickers,
    AllMarkPrices,
    AllBookTickers,
    AllForceOrders,
}
Expand description

A WebSocket subscription topic.

Topics are created using the static constructor methods and converted to the wire format automatically when passed to subscribe().

§Available Topics

TopicDescription
Topic::agg_tradeAggregated trade updates
Topic::depthOrder book depth snapshots
Topic::book_tickerBest bid/ask prices
Topic::mark_priceMark price updates
Topic::klineCandlestick/kline data
Topic::force_orderLiquidation orders
Topic::all_tickersAll symbol mini tickers
Topic::all_mark_pricesAll mark prices
Topic::all_book_tickersAll best bid/ask
Topic::all_force_ordersAll liquidations

Variants§

§

AggTrade

Aggregated trade stream for a symbol.

Fields

§symbol: String
§

Depth

Order book depth stream with configurable levels.

Fields

§symbol: String
§

BookTicker

Best bid/ask stream for a symbol.

Fields

§symbol: String
§

MarkPrice

Mark price stream for a symbol.

Fields

§symbol: String
§

Kline

Kline/candlestick stream for a symbol at an interval.

Fields

§symbol: String
§interval: KlineInterval
§

ForceOrder

Liquidation order stream for a symbol.

Fields

§symbol: String
§

AllTickers

All symbols mini ticker stream.

§

AllMarkPrices

All symbols mark price stream.

§

AllBookTickers

All symbols book ticker stream.

§

AllForceOrders

All symbols liquidation stream.

Implementations§

Source§

impl Topic

Source

pub fn agg_trade(symbol: impl Into<String>) -> Self

Subscribe to aggregated trades for a symbol.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::agg_trade("BTC-USD");
assert_eq!(topic.to_string(), "BTC-USD@aggTrade");
Source

pub fn depth(symbol: impl Into<String>, depth: OrderbookDepth) -> Self

Subscribe to order book depth for a symbol.

§Example
use bullet_rust_sdk::ws::topics::{OrderbookDepth, Topic};

let topic = Topic::depth("BTC-USD", OrderbookDepth::D10);
assert_eq!(topic.to_string(), "BTC-USD@depth10");
Source

pub fn book_ticker(symbol: impl Into<String>) -> Self

Subscribe to best bid/ask for a symbol.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::book_ticker("BTC-USD");
assert_eq!(topic.to_string(), "BTC-USD@bookTicker");
Source

pub fn mark_price(symbol: impl Into<String>) -> Self

Subscribe to mark price updates for a symbol.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::mark_price("BTC-USD");
assert_eq!(topic.to_string(), "BTC-USD@markPrice");
Source

pub fn kline(symbol: impl Into<String>, interval: KlineInterval) -> Self

Subscribe to kline/candlestick data for a symbol.

§Example
use bullet_rust_sdk::ws::topics::{KlineInterval, Topic};

let topic = Topic::kline("BTC-USD", KlineInterval::H1);
assert_eq!(topic.to_string(), "BTC-USD@kline_1h");
Source

pub fn force_order(symbol: impl Into<String>) -> Self

Subscribe to liquidation orders for a symbol.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::force_order("BTC-USD");
assert_eq!(topic.to_string(), "BTC-USD@forceOrder");
Source

pub fn all_tickers() -> Self

Subscribe to mini ticker updates for all symbols.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::all_tickers();
assert_eq!(topic.to_string(), "!ticker@arr");
Source

pub fn all_mark_prices() -> Self

Subscribe to mark price updates for all symbols.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::all_mark_prices();
assert_eq!(topic.to_string(), "!markPrice@arr");
Source

pub fn all_book_tickers() -> Self

Subscribe to book ticker updates for all symbols.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::all_book_tickers();
assert_eq!(topic.to_string(), "!bookTicker@arr");
Source

pub fn all_force_orders() -> Self

Subscribe to liquidation orders for all symbols.

§Example
use bullet_rust_sdk::ws::topics::Topic;

let topic = Topic::all_force_orders();
assert_eq!(topic.to_string(), "!forceOrder@arr");

Trait Implementations§

Source§

impl Clone for Topic

Source§

fn clone(&self) -> Topic

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Topic

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Topic

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<Topic> for String

Source§

fn from(topic: Topic) -> Self

Converts to this type from the input type.
Source§

impl Hash for Topic

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Topic

Source§

fn eq(&self, other: &Topic) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Topic

Source§

impl StructuralPartialEq for Topic

Auto Trait Implementations§

§

impl Freeze for Topic

§

impl RefUnwindSafe for Topic

§

impl Send for Topic

§

impl Sync for Topic

§

impl Unpin for Topic

§

impl UnsafeUnpin for Topic

§

impl UnwindSafe for Topic

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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 T
where 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> ToStringFallible for T
where T: Display,

Source§

fn try_to_string(&self) -> Result<String, TryReserveError>

ToString::to_string, but without panic on OOM.

Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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