SYMBOL INDEX (1969 symbols across 271 files) FILE: crypto-client/src/lib.rs type CryptoClient (line 2) | pub struct CryptoClient { function it_works (line 10) | fn it_works() { FILE: crypto-crawler/src/crawlers/binance.rs constant EXCHANGE_NAME (line 14) | const EXCHANGE_NAME: &str = "binance"; function crawl_trade (line 16) | pub(crate) async fn crawl_trade( function crawl_bbo (line 45) | pub(crate) async fn crawl_bbo( function crawl_ticker (line 90) | pub(crate) async fn crawl_ticker( function crawl_funding_rate (line 142) | pub(crate) async fn crawl_funding_rate( FILE: crypto-crawler/src/crawlers/bitmex.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bitmex"; function crawl_all (line 13) | async fn crawl_all(msg_type: MessageType, tx: Sender) { function crawl_trade (line 33) | pub(crate) async fn crawl_trade( function crawl_l2_event (line 46) | pub(crate) async fn crawl_l2_event( function crawl_bbo (line 59) | pub(crate) async fn crawl_bbo( function crawl_l2_topk (line 72) | pub(crate) async fn crawl_l2_topk( function crawl_funding_rate (line 86) | pub(crate) async fn crawl_funding_rate( function crawl_candlestick (line 137) | pub(crate) async fn crawl_candlestick( FILE: crypto-crawler/src/crawlers/deribit.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "deribit"; function crawl_trade (line 10) | pub(crate) async fn crawl_trade( FILE: crypto-crawler/src/crawlers/huobi.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "huobi"; function crawl_l2_event (line 14) | pub(crate) async fn crawl_l2_event( function crawl_funding_rate (line 50) | pub(crate) async fn crawl_funding_rate( FILE: crypto-crawler/src/crawlers/kucoin.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "kucoin"; function crawl_bbo (line 11) | pub(crate) async fn crawl_bbo( FILE: crypto-crawler/src/crawlers/okx.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "okx"; function crawl_funding_rate (line 11) | pub(crate) async fn crawl_funding_rate( function crawl_open_interest (line 44) | pub(crate) async fn crawl_open_interest( FILE: crypto-crawler/src/crawlers/utils.rs function fetch_symbols_retry (line 15) | pub fn fetch_symbols_retry(exchange: &str, market_type: MarketType) -> V... function check_args (line 56) | pub(super) fn check_args(exchange: &str, market_type: MarketType, symbol... function get_cooldown_time_per_request (line 76) | fn get_cooldown_time_per_request(exchange: &str, market_type: MarketType... function crawl_snapshot (line 106) | pub(crate) fn crawl_snapshot( function crawl_open_interest (line 206) | pub(crate) fn crawl_open_interest(exchange: &str, market_type: MarketTyp... function subscribe_with_lock (line 318) | async fn subscribe_with_lock( function get_connection_interval_ms (line 336) | fn get_connection_interval_ms(exchange: &str, _market_type: MarketType) ... function get_num_subscriptions_per_connection (line 348) | fn get_num_subscriptions_per_connection(exchange: &str, market_type: Mar... function create_ws_client_internal (line 370) | async fn create_ws_client_internal( function create_ws_client (line 470) | async fn create_ws_client( function create_ws_client_symbol (line 507) | pub(crate) async fn create_ws_client_symbol( type EmptyStruct (line 517) | struct EmptyStruct {} function create_symbol_discovery_thread (line 519) | fn create_symbol_discovery_thread( function create_new_symbol_receiver_thread (line 567) | fn create_new_symbol_receiver_thread( function create_new_symbol_receiver_thread_candlestick (line 589) | fn create_new_symbol_receiver_thread_candlestick( function create_conversion_thread (line 608) | pub(crate) fn create_conversion_thread( function create_parser_thread (line 627) | fn create_parser_thread( function crawl_event_one_chunk (line 669) | async fn crawl_event_one_chunk( function crawl_event (line 700) | pub(crate) async fn crawl_event( function get_candlestick_intervals (line 828) | fn get_candlestick_intervals(exchange: &str, market_type: MarketType) ->... function crawl_candlestick_one_chunk (line 852) | async fn crawl_candlestick_one_chunk( function crawl_candlestick_ext (line 880) | pub(crate) async fn crawl_candlestick_ext( FILE: crypto-crawler/src/crawlers/zb.rs constant EXCHANGE_NAME (line 10) | const EXCHANGE_NAME: &str = "zb"; function crawl_ticker (line 12) | pub(crate) async fn crawl_ticker( FILE: crypto-crawler/src/crawlers/zbg.rs constant EXCHANGE_NAME (line 10) | const EXCHANGE_NAME: &str = "zbg"; function crawl_ticker (line 12) | pub(crate) async fn crawl_ticker( FILE: crypto-crawler/src/lib.rs function crawl_trade (line 233) | pub async fn crawl_trade( function crawl_l2_event (line 253) | pub async fn crawl_l2_event( function crawl_l3_event (line 272) | pub async fn crawl_l3_event( function crawl_l2_snapshot (line 287) | pub fn crawl_l2_snapshot( function crawl_bbo (line 297) | pub async fn crawl_bbo( function crawl_l2_topk (line 315) | pub async fn crawl_l2_topk( function crawl_l3_snapshot (line 332) | pub fn crawl_l3_snapshot( function crawl_ticker (line 345) | pub async fn crawl_ticker( function crawl_funding_rate (line 364) | pub async fn crawl_funding_rate( function crawl_candlestick (line 383) | pub async fn crawl_candlestick( function crawl_open_interest (line 402) | pub fn crawl_open_interest(exchange: &str, market_type: MarketType, tx: ... function subscribe_symbol (line 411) | pub async fn subscribe_symbol( FILE: crypto-crawler/src/msg.rs type Message (line 12) | pub struct Message { method new (line 28) | pub fn new( method new_with_symbol (line 49) | pub fn new_with_symbol( method to_tsv_string (line 65) | pub fn to_tsv_string(&self) -> String { method from_tsv_string (line 71) | pub fn from_tsv_string(exchange: &str, market_type: &str, msg_type: &s... method fmt (line 91) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: crypto-crawler/src/utils/cmc_rank.rs function http_get (line 275) | fn http_get(url: &str) -> Result { function get_cmc_ranks (line 293) | fn get_cmc_ranks(limit: i64) -> HashMap { function sort_by_cmc_rank (line 320) | pub(crate) fn sort_by_cmc_rank(exchange: &str, symbols: &mut [String]) { function test_get_cmc_ranks (line 336) | fn test_get_cmc_ranks() { function test_sort_by_cmc_rank (line 346) | fn test_sort_by_cmc_rank() { FILE: crypto-crawler/src/utils/lock.rs constant EXCHANGES (line 7) | const EXCHANGES: &[&str] = &[ constant EXCHANGES_WS (line 30) | const EXCHANGES_WS: &[&str] = &["bitfinex", "bitz", "kucoin", "okx"]; function get_lock_file_name (line 43) | fn get_lock_file_name(exchange: &str, market_type: MarketType, prefix: &... function create_lock_file (line 124) | fn create_lock_file(filename: &str) -> LockFile { function create_all_lock_files_rest (line 136) | fn create_all_lock_files_rest() function create_all_lock_files_ws (line 166) | fn create_all_lock_files_ws() FILE: crypto-crawler/src/utils/spot_symbols.rs function get_hot_spot_symbols (line 5) | pub fn get_hot_spot_symbols(exchange: &str, spot_symbols: &[String]) -> ... function test_binance (line 37) | fn test_binance() { function test_huobi (line 44) | fn test_huobi() { function test_okx (line 51) | fn test_okx() { FILE: crypto-crawler/tests/binance.rs constant EXCHANGE_NAME (line 12) | const EXCHANGE_NAME: &str = "binance"; function test_crawl_trade_all (line 20) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 31) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 42) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_bbo (line 53) | async fn test_crawl_bbo(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 64) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 74) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 90) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 106) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_funding_rate (line 113) | async fn test_crawl_funding_rate(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 129) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/bitfinex.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bitfinex"; function test_crawl_trade_all (line 16) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 23) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 30) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 36) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 48) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_l3_event (line 60) | async fn test_crawl_l3_event(market_type: MarketType, symbol: &str) { function test_crawl_l3_snapshot (line 66) | fn test_crawl_l3_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_ticker (line 79) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 86) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/bitget.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bitget"; function test_crawl_trade_all (line 17) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 25) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 33) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 41) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 49) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 63) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 76) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 84) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/bithumb.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bithumb"; function test_crawl_trade_all (line 15) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 21) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 27) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 32) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 43) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 54) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { FILE: crypto-crawler/tests/bitmex.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bitmex"; function crawl_all (line 13) | async fn crawl_all(msg_type: MessageType) { function test_crawl_trade_all (line 49) | async fn test_crawl_trade_all() { function test_crawl_l2_event_all (line 54) | async fn test_crawl_l2_event_all() { function test_crawl_bbo_all (line 59) | async fn test_crawl_bbo_all() { function test_crawl_l2_topk_all (line 64) | async fn test_crawl_l2_topk_all() { function test_crawl_l2_snapshot_all (line 69) | async fn test_crawl_l2_snapshot_all() { function test_crawl_funding_rate_all (line 74) | async fn test_crawl_funding_rate_all() { function test_crawl_candlestick_rate_all (line 79) | async fn test_crawl_candlestick_rate_all() { function test_crawl_l2_event (line 95) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { FILE: crypto-crawler/tests/bitstamp.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bitstamp"; function test_crawl_trade_all (line 15) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 21) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 27) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 33) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 38) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 49) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_l3_event (line 60) | async fn test_crawl_l3_event(market_type: MarketType, symbol: &str) { function test_crawl_l3_snapshot (line 66) | async fn test_crawl_l3_snapshot(market_type: MarketType, symbol: &str) { FILE: crypto-crawler/tests/bitz.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bitz"; function test_crawl_trade (line 17) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 25) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 32) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 45) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 58) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 64) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/bybit.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "bybit"; function test_crawl_trade_all (line 17) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 25) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 33) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 40) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 53) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 66) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 74) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/coinbase_pro.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "coinbase_pro"; function test_crawl_trade_all (line 15) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 21) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 27) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 32) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 43) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_l3_event (line 54) | async fn test_crawl_l3_event(market_type: MarketType, symbol: &str) { function test_crawl_l3_snapshot (line 60) | async fn test_crawl_l3_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_ticker (line 72) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { FILE: crypto-crawler/tests/deribit.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "deribit"; function test_crawl_trade_all (line 17) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 25) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 33) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_bbo (line 41) | async fn test_crawl_bbo(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 49) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 56) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 69) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 82) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 90) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/dydx.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "dydx"; function test_crawl_trade_all (line 15) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 21) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 27) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 32) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { FILE: crypto-crawler/tests/ftx.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "ftx"; function test_crawl_trade_all (line 19) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 29) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 39) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_bbo (line 49) | async fn test_crawl_bbo(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 58) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 73) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { FILE: crypto-crawler/tests/gate.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "gate"; function test_crawl_trade_all (line 19) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 29) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 39) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_bbo (line 47) | async fn test_crawl_bbo(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 56) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 71) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 86) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 96) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/huobi.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "huobi"; function test_crawl_trade_all (line 18) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 28) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 38) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_bbo (line 48) | async fn test_crawl_bbo(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 58) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 67) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 82) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_funding_rate (line 94) | async fn test_crawl_funding_rate(market_type: MarketType, symbol: &str) { function test_crawl_ticker (line 110) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 120) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/kraken.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "kraken"; function test_crawl_trade_all (line 17) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 25) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 33) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_bbo (line 39) | async fn test_crawl_bbo(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 46) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 59) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 72) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 78) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/kucoin.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "kucoin"; function test_crawl_trade_all (line 17) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 26) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 35) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_bbo (line 44) | async fn test_crawl_bbo(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 53) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 61) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 75) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_l3_snapshot (line 89) | async fn test_crawl_l3_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_ticker (line 104) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 113) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/mexc.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "mexc"; function test_crawl_trade_all (line 17) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 25) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 33) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 41) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 48) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 61) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 73) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 81) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/okx.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "okx"; function test_crawl_trade_all (line 20) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 31) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 42) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 53) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 63) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 79) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_funding_rate (line 91) | async fn test_crawl_funding_rate(market_type: MarketType, symbol: &str) { function test_crawl_open_interest (line 106) | fn test_crawl_open_interest(market_type: MarketType) { function test_crawl_ticker (line 128) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 139) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/utils/mod.rs function parse (line 5) | pub(crate) fn parse(msg: Message) -> bool { FILE: crypto-crawler/tests/zb.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "zb"; function test_crawl_trade_all (line 16) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 23) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 30) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_topk (line 37) | async fn test_crawl_l2_topk(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 43) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 55) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 67) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 74) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-crawler/tests/zbg.rs constant EXCHANGE_NAME (line 11) | const EXCHANGE_NAME: &str = "zbg"; function test_crawl_trade_all (line 15) | async fn test_crawl_trade_all(market_type: MarketType) { function test_crawl_trade (line 23) | async fn test_crawl_trade(market_type: MarketType, symbol: &str) { function test_crawl_l2_event (line 31) | async fn test_crawl_l2_event(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot (line 38) | fn test_crawl_l2_snapshot(market_type: MarketType, symbol: &str) { function test_crawl_l2_snapshot_without_symbol (line 51) | fn test_crawl_l2_snapshot_without_symbol(market_type: MarketType) { function test_crawl_ticker (line 64) | async fn test_crawl_ticker(market_type: MarketType, symbol: &str) { function test_crawl_candlestick (line 72) | async fn test_crawl_candlestick(market_type: MarketType) { FILE: crypto-market-type/include/crypto_market_type.h type MarketType (line 31) | typedef enum { FILE: crypto-market-type/src/lib.rs type MarketType (line 32) | pub enum MarketType { function get_market_types (line 53) | pub fn get_market_types(exchange: &str) -> Vec { FILE: crypto-markets/src/error.rs type Result (line 3) | pub(crate) type Result = std::result::Result; type Error (line 6) | pub struct Error(pub String); method fmt (line 9) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from (line 17) | fn from(err: reqwest::Error) -> Self { method from (line 23) | fn from(err: serde_json::Error) -> Self { FILE: crypto-markets/src/exchanges/binance/binance_inverse.rs type BinanceResponse (line 9) | struct BinanceResponse { type FutureMarket (line 15) | struct FutureMarket { function fetch_inverse_markets_raw (line 43) | fn fetch_inverse_markets_raw() -> Result> { function fetch_inverse_future_symbols (line 51) | pub(super) fn fetch_inverse_future_symbols() -> Result> { function fetch_inverse_swap_symbols (line 60) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_future_markets_internal (line 69) | fn fetch_future_markets_internal() -> Result> { function fetch_inverse_future_markets (line 117) | pub(super) fn fetch_inverse_future_markets() -> Result> { function fetch_inverse_swap_markets (line 125) | pub(super) fn fetch_inverse_swap_markets() -> Result> { FILE: crypto-markets/src/exchanges/binance/binance_linear.rs type BinanceResponse (line 9) | struct BinanceResponse { type LinearSwapMarket (line 15) | struct LinearSwapMarket { function fetch_linear_markets_raw (line 41) | fn fetch_linear_markets_raw() -> Result> { function fetch_linear_swap_symbols (line 49) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function fetch_linear_future_symbols (line 58) | pub(super) fn fetch_linear_future_symbols() -> Result> { function fetch_linear_markets (line 67) | fn fetch_linear_markets() -> Result> { function fetch_linear_swap_markets (line 115) | pub(super) fn fetch_linear_swap_markets() -> Result> { function fetch_linear_future_markets (line 122) | pub(super) fn fetch_linear_future_markets() -> Result> { FILE: crypto-markets/src/exchanges/binance/binance_option.rs type BinanceResponse (line 8) | struct BinanceResponse { type OptionMarket (line 14) | struct OptionMarket { function fetch_option_markets_raw (line 33) | fn fetch_option_markets_raw() -> Result> { function fetch_option_symbols (line 56) | pub(super) fn fetch_option_symbols() -> Result> { function fetch_option_markets (line 62) | pub(super) fn fetch_option_markets() -> Result> { FILE: crypto-markets/src/exchanges/binance/binance_spot.rs type BinanceResponse (line 9) | struct BinanceResponse { type SpotMarket (line 15) | struct SpotMarket { function fetch_spot_markets_raw (line 31) | fn fetch_spot_markets_raw() -> Result> { function fetch_spot_symbols (line 37) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 46) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/binance/mod.rs function fetch_symbols (line 9) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result { function binance_http_get (line 25) | pub(super) fn binance_http_get(url: &str) -> Result { function parse_filter (line 33) | pub(super) fn parse_filter<'a>( FILE: crypto-markets/src/exchanges/bitfinex.rs function fetch_symbols (line 12) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result> { function fetch_markets (line 43) | pub(crate) fn fetch_markets(market_type: MarketType) -> Result Result> { function fetch_linear_swap_symbols (line 121) | fn fetch_linear_swap_symbols() -> Result> { function _fetch_symbols (line 141) | fn _fetch_symbols(url: &str) -> Result> { function _fetch_spot_symbols (line 153) | fn _fetch_spot_symbols() -> Result> { function _fetch_linear_swap_symbols (line 157) | fn _fetch_linear_swap_symbols() -> Result> { function test_spot_symbols (line 162) | fn test_spot_symbols() { function test_linear_swap_symbols (line 180) | fn test_linear_swap_symbols() { FILE: crypto-markets/src/exchanges/bitget/bitget_spot.rs type SpotMarket (line 16) | struct SpotMarket { type Response (line 34) | struct Response { function fetch_spot_markets_raw (line 44) | fn fetch_spot_markets_raw() -> Result> { function fetch_spot_symbols (line 60) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 66) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/bitget/bitget_swap.rs type SwapMarket (line 17) | struct SwapMarket { type Response (line 38) | struct Response { function fetch_swap_markets_raw (line 49) | fn fetch_swap_markets_raw(product_type: &str) -> Result> { function fetch_inverse_swap_symbols (line 59) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_inverse_future_symbols (line 68) | pub(super) fn fetch_inverse_future_symbols() -> Result> { function fetch_linear_swap_symbols (line 77) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function fetch_inverse_swap_markets (line 87) | pub(super) fn fetch_inverse_swap_markets() -> Result> { function fetch_inverse_future_markets (line 96) | pub(super) fn fetch_inverse_future_markets() -> Result> { function fetch_linear_swap_markets (line 105) | pub(super) fn fetch_linear_swap_markets() -> Result> { function to_market (line 111) | fn to_market(m: SwapMarket) -> Market { FILE: crypto-markets/src/exchanges/bitget/mod.rs constant EXCHANGE_NAME (line 6) | pub(super) const EXCHANGE_NAME: &str = "bitget"; function fetch_symbols (line 8) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result Result Result { function fetch_spot_symbols (line 83) | fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 89) | fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/bitmex.rs function fetch_symbols (line 15) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { FILE: crypto-markets/src/exchanges/bitstamp.rs function fetch_symbols (line 8) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { function fetch_spot_symbols (line 42) | fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 48) | fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/bitz/bitz_spot.rs type SpotMarket (line 11) | struct SpotMarket { type Response (line 29) | struct Response { function fetch_spot_markets_raw (line 39) | fn fetch_spot_markets_raw() -> Result> { function fetch_spot_symbols (line 51) | pub(super) fn fetch_spot_symbols() -> Result> { FILE: crypto-markets/src/exchanges/bitz/bitz_swap.rs type SwapMarket (line 11) | struct SwapMarket { type Response (line 40) | struct Response { function fetch_swap_markets_raw (line 50) | fn fetch_swap_markets_raw() -> Result> { function fetch_inverse_swap_symbols (line 61) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_linear_swap_symbols (line 70) | pub(super) fn fetch_linear_swap_symbols() -> Result> { FILE: crypto-markets/src/exchanges/bitz/mod.rs function fetch_symbols (line 6) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result Result Result> { function fetch_inverse_swap_symbols (line 83) | fn fetch_inverse_swap_symbols() -> Result> { function fetch_linear_swap_symbols (line 92) | fn fetch_linear_swap_symbols() -> Result> { function fetch_inverse_future_symbols (line 101) | fn fetch_inverse_future_symbols() -> Result> { function to_market (line 112) | fn to_market(raw_market: &BybitMarket) -> Market { function fetch_inverse_swap_markets (line 189) | fn fetch_inverse_swap_markets() -> Result> { function fetch_linear_swap_markets (line 198) | fn fetch_linear_swap_markets() -> Result> { function fetch_inverse_future_markets (line 207) | fn fetch_inverse_future_markets() -> Result> { FILE: crypto-markets/src/exchanges/coinbase_pro.rs function fetch_symbols (line 9) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { function fetch_spot_symbols (line 51) | fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 60) | fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/deribit/mod.rs function fetch_symbols (line 5) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result { function deribit_http_get (line 18) | pub(super) fn deribit_http_get(url: &str) -> Result { type DeribitResponse (line 28) | struct DeribitResponse { type Instrument (line 42) | struct Instrument { function fetch_instruments (line 74) | fn fetch_instruments(currency: &str, kind: &str) -> Result Result> { function fetch_symbols (line 109) | fn fetch_symbols(kind: &str) -> Result> { function fetch_inverse_future_symbols (line 115) | pub(super) fn fetch_inverse_future_symbols() -> Result> { function fetch_inverse_swap_symbols (line 123) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_option_symbols (line 131) | pub(super) fn fetch_option_symbols() -> Result> { function to_market (line 135) | fn to_market(raw_market: &Instrument) -> Market { function fetch_inverse_future_markets (line 183) | pub(super) fn fetch_inverse_future_markets() -> Result> { function fetch_inverse_swap_markets (line 193) | pub(super) fn fetch_inverse_swap_markets() -> Result> { function fetch_option_markets (line 203) | pub(super) fn fetch_option_markets() -> Result> { FILE: crypto-markets/src/exchanges/dydx/dydx_swap.rs constant BASE_URL (line 10) | const BASE_URL: &str = "https://api.dydx.exchange"; type PerpetualMarket (line 14) | struct PerpetualMarket { type MarketsResponse (line 30) | struct MarketsResponse { function fetch_markets_raw (line 35) | fn fetch_markets_raw() -> Result> { function fetch_linear_swap_symbols (line 46) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function fetch_linear_swap_markets (line 52) | pub(super) fn fetch_linear_swap_markets() -> Result> { FILE: crypto-markets/src/exchanges/dydx/mod.rs function fetch_symbols (line 5) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result Result Result> { function fetch_spot_symbols (line 64) | fn fetch_spot_symbols() -> Result> { function fetch_linear_swap_symbols (line 74) | fn fetch_linear_swap_symbols() -> Result> { function fetch_linear_future_symbols (line 84) | fn fetch_linear_future_symbols() -> Result> { function fetch_move_symbols (line 100) | fn fetch_move_symbols() -> Result> { function fetch_bvol_symbols (line 110) | fn fetch_bvol_symbols() -> Result> { function to_market (line 120) | fn to_market(raw_market: &FtxMarket) -> Market { function fetch_spot_markets (line 197) | fn fetch_spot_markets() -> Result> { function fetch_linear_swap_markets (line 206) | fn fetch_linear_swap_markets() -> Result> { function fetch_linear_future_markets (line 216) | fn fetch_linear_future_markets() -> Result> { function fetch_move_markets (line 231) | fn fetch_move_markets() -> Result> { function fetch_bvol_markets (line 240) | fn fetch_bvol_markets() -> Result> { FILE: crypto-markets/src/exchanges/gate/gate_future.rs type FutureMarket (line 13) | struct FutureMarket { function fetch_future_markets_raw (line 38) | fn fetch_future_markets_raw(settle: &str) -> Result> { function fetch_inverse_future_symbols (line 47) | pub(super) fn fetch_inverse_future_symbols() -> Result> { function fetch_linear_future_symbols (line 53) | pub(super) fn fetch_linear_future_symbols() -> Result> { function to_market (line 59) | fn to_market(raw_market: &FutureMarket) -> Market { function fetch_inverse_future_markets (line 119) | pub(super) fn fetch_inverse_future_markets() -> Result> { function fetch_linear_future_markets (line 127) | pub(super) fn fetch_linear_future_markets() -> Result> { FILE: crypto-markets/src/exchanges/gate/gate_spot.rs type SpotMarket (line 13) | struct SpotMarket { function fetch_spot_markets_raw (line 28) | fn fetch_spot_markets_raw() -> Result> { function fetch_spot_symbols (line 34) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 40) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/gate/gate_swap.rs type SwapMarket (line 13) | struct SwapMarket { function fetch_swap_markets_raw (line 35) | fn fetch_swap_markets_raw(settle: &str) -> Result> { function fetch_inverse_swap_symbols (line 44) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_linear_swap_symbols (line 50) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function to_market (line 56) | fn to_market(raw_market: &SwapMarket) -> Market { function fetch_inverse_swap_markets (line 116) | pub(super) fn fetch_inverse_swap_markets() -> Result> { function fetch_linear_swap_markets (line 122) | pub(super) fn fetch_linear_swap_markets() -> Result> { FILE: crypto-markets/src/exchanges/gate/mod.rs function fetch_symbols (line 7) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { function fetch_inverse_future_symbols (line 47) | pub(super) fn fetch_inverse_future_symbols() -> Result> { function fetch_inverse_future_markets (line 64) | pub(super) fn fetch_inverse_future_markets() -> Result> { FILE: crypto-markets/src/exchanges/huobi/huobi_inverse_swap.rs type InverseSwapMarket (line 14) | struct InverseSwapMarket { type Response (line 28) | struct Response { function fetch_inverse_swap_markets_raw (line 35) | fn fetch_inverse_swap_markets_raw() -> Result> { function fetch_inverse_swap_symbols (line 43) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_inverse_swap_markets (line 51) | pub(super) fn fetch_inverse_swap_markets() -> Result> { FILE: crypto-markets/src/exchanges/huobi/huobi_linear_swap.rs type LinearSwapMarket (line 14) | struct LinearSwapMarket { type Response (line 28) | struct Response { function fetch_linear_swap_markets_raw (line 35) | fn fetch_linear_swap_markets_raw() -> Result> { function fetch_linear_swap_symbols (line 43) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function fetch_linear_swap_markets (line 51) | pub(super) fn fetch_linear_swap_markets() -> Result> { FILE: crypto-markets/src/exchanges/huobi/huobi_option.rs type OptionMarket (line 9) | struct OptionMarket { type Response (line 28) | struct Response { function fetch_option_markets_raw (line 35) | fn fetch_option_markets_raw() -> Result> { function fetch_option_symbols (line 43) | pub(super) fn fetch_option_symbols() -> Result> { FILE: crypto-markets/src/exchanges/huobi/huobi_spot.rs type SpotMarket (line 15) | struct SpotMarket { type Response (line 38) | struct Response { function fetch_spot_markets_raw (line 44) | fn fetch_spot_markets_raw() -> Result> { function fetch_spot_symbols (line 51) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 56) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/huobi/mod.rs function fetch_symbols (line 11) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result { function huobi_http_get (line 25) | pub(super) fn huobi_http_get(url: &str) -> Result { FILE: crypto-markets/src/exchanges/kraken/kraken_futures.rs type FuturesMarketPartial (line 14) | struct FuturesMarketPartial { type FuturesMarket (line 25) | struct FuturesMarket { type Response (line 40) | struct Response { function check_error_in_body (line 45) | fn check_error_in_body(resp: String) -> Result { function kraken_http_get (line 58) | pub(super) fn kraken_http_get(url: &str) -> Result { function fetch_futures_markets_raw (line 67) | fn fetch_futures_markets_raw() -> Result> { function fetch_inverse_future_symbols (line 82) | pub(super) fn fetch_inverse_future_symbols() -> Result> { function fetch_inverse_swap_symbols (line 91) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_inverse_future_markets (line 100) | pub(super) fn fetch_inverse_future_markets() -> Result> { function fetch_inverse_swap_markets (line 108) | pub(super) fn fetch_inverse_swap_markets() -> Result> { function fetch_futures_markets (line 116) | fn fetch_futures_markets() -> Result> { FILE: crypto-markets/src/exchanges/kraken/kraken_spot.rs type SpotMarket (line 13) | struct SpotMarket { type Response (line 33) | struct Response { function check_error_in_body (line 37) | fn check_error_in_body(resp: String) -> Result { function kraken_http_get (line 52) | pub(super) fn kraken_http_get(url: &str) -> Result { function fetch_spot_markets_raw (line 61) | fn fetch_spot_markets_raw() -> Result> { function fetch_spot_symbols (line 76) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 82) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/kraken/mod.rs function fetch_symbols (line 6) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { function fetch_spot_symbols (line 55) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 61) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/kucoin/kucoin_swap.rs type SwapMarket (line 15) | struct SwapMarket { type Response (line 53) | struct Response { function fetch_swap_markets_raw (line 59) | fn fetch_swap_markets_raw() -> Result> { function fetch_inverse_swap_symbols (line 71) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_linear_swap_symbols (line 81) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function fetch_inverse_future_symbols (line 91) | pub(super) fn fetch_inverse_future_symbols() -> Result> { function to_market (line 101) | fn to_market(raw_market: &SwapMarket) -> Market { function fetch_inverse_swap_markets (line 145) | pub(super) fn fetch_inverse_swap_markets() -> Result> { function fetch_linear_swap_markets (line 154) | pub(super) fn fetch_linear_swap_markets() -> Result> { function fetch_inverse_future_markets (line 163) | pub(super) fn fetch_inverse_future_markets() -> Result> { FILE: crypto-markets/src/exchanges/kucoin/mod.rs function fetch_symbols (line 6) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { function fetch_spot_symbols (line 37) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 42) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/mexc/mexc_swap.rs type SwapMarket (line 11) | struct SwapMarket { type Response (line 44) | struct Response { function fetch_swap_markets_raw (line 51) | fn fetch_swap_markets_raw() -> Result> { function fetch_linear_swap_symbols (line 57) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function fetch_inverse_swap_symbols (line 66) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function to_market (line 75) | fn to_market(raw_market: &SwapMarket) -> Market { function fetch_linear_swap_markets (line 118) | pub(super) fn fetch_linear_swap_markets() -> Result> { function fetch_inverse_swap_markets (line 127) | pub(super) fn fetch_inverse_swap_markets() -> Result> { FILE: crypto-markets/src/exchanges/mexc/mod.rs constant EXCHANGE_NAME (line 8) | pub(super) const EXCHANGE_NAME: &str = "mexc"; function fetch_symbols (line 10) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result { function mexc_http_get (line 22) | pub(super) fn mexc_http_get(url: &str) -> Result { FILE: crypto-markets/src/exchanges/okx.rs function fetch_symbols (line 15) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Market { function fetch_raw_markets_raw (line 148) | fn fetch_raw_markets_raw(inst_type: &str) -> Result> { function fetch_spot_symbols (line 185) | fn fetch_spot_symbols() -> Result> { function fetch_inverse_future_symbols (line 191) | fn fetch_inverse_future_symbols() -> Result> { function fetch_linear_future_symbols (line 200) | fn fetch_linear_future_symbols() -> Result> { function fetch_inverse_swap_symbols (line 209) | fn fetch_inverse_swap_symbols() -> Result> { function fetch_linear_swap_symbols (line 218) | fn fetch_linear_swap_symbols() -> Result> { function fetch_option_symbols (line 227) | fn fetch_option_symbols() -> Result> { function fetch_spot_markets (line 233) | fn fetch_spot_markets() -> Result> { function fetch_inverse_future_markets (line 239) | fn fetch_inverse_future_markets() -> Result> { function fetch_linear_future_markets (line 248) | fn fetch_linear_future_markets() -> Result> { function fetch_inverse_swap_markets (line 257) | fn fetch_inverse_swap_markets() -> Result> { function fetch_linear_swap_markets (line 266) | fn fetch_linear_swap_markets() -> Result> { function fetch_option_markets (line 275) | fn fetch_option_markets() -> Result> { FILE: crypto-markets/src/exchanges/utils.rs function http_get (line 6) | pub(super) fn http_get(url: &str, params: Option<&HashMap i64 { function use_system_socks_proxy (line 62) | fn use_system_socks_proxy() { function use_system_https_proxy (line 71) | fn use_system_https_proxy() { function test_calc_precision (line 79) | fn test_calc_precision() { FILE: crypto-markets/src/exchanges/zb/mod.rs function fetch_symbols (line 6) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { function fetch_spot_symbols (line 35) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 41) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/zb/zb_swap.rs type SwapMarket (line 15) | struct SwapMarket { type Response (line 33) | struct Response { function fetch_swap_markets_internal (line 39) | fn fetch_swap_markets_internal(url: &str) -> Result> { function fetch_swap_markets_raw (line 53) | fn fetch_swap_markets_raw() -> Result> { function fetch_linear_swap_symbols (line 65) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function to_market (line 70) | fn to_market(raw_market: &SwapMarket) -> Market { function fetch_linear_swap_markets (line 112) | pub(super) fn fetch_linear_swap_markets() -> Result> { FILE: crypto-markets/src/exchanges/zbg/mod.rs function fetch_symbols (line 6) | pub(crate) fn fetch_symbols(market_type: MarketType) -> Result Result Result> { function fetch_spot_symbols (line 57) | pub(super) fn fetch_spot_symbols() -> Result> { function fetch_spot_markets (line 63) | pub(super) fn fetch_spot_markets() -> Result> { FILE: crypto-markets/src/exchanges/zbg/zbg_swap.rs type SwapMarket (line 15) | struct SwapMarket { type ResMsg (line 32) | struct ResMsg { type Response (line 40) | struct Response { function fetch_swap_markets_raw (line 46) | fn fetch_swap_markets_raw() -> Result> { function fetch_inverse_swap_symbols (line 52) | pub(super) fn fetch_inverse_swap_symbols() -> Result> { function fetch_linear_swap_symbols (line 61) | pub(super) fn fetch_linear_swap_symbols() -> Result> { function to_market (line 70) | fn to_market(raw_market: &SwapMarket) -> Market { function fetch_inverse_swap_markets (line 125) | pub(super) fn fetch_inverse_swap_markets() -> Result> { function fetch_linear_swap_markets (line 134) | pub(super) fn fetch_linear_swap_markets() -> Result> { FILE: crypto-markets/src/lib.rs function fetch_symbols (line 25) | pub fn fetch_symbols(exchange: &str, market_type: MarketType) -> Result<... function fetch_markets (line 67) | pub fn fetch_markets(exchange: &str, market_type: MarketType) -> Result<... FILE: crypto-markets/src/main.rs function main (line 5) | fn main() { FILE: crypto-markets/src/market.rs type Fees (line 6) | pub struct Fees { type Precision (line 12) | pub struct Precision { type QuantityLimit (line 20) | pub struct QuantityLimit { type Market (line 37) | pub struct Market { FILE: crypto-markets/tests/binance.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "binance"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_inverse_future_symbols (line 27) | fn fetch_inverse_future_symbols() { function fetch_linear_future_symbols (line 42) | fn fetch_linear_future_symbols() { function fetch_inverse_swap_symbols (line 57) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 68) | fn fetch_linear_swap_symbols() { function fetch_option_symbols (line 80) | fn fetch_option_symbols() { function fetch_spot_markets (line 91) | fn fetch_spot_markets() { function fetch_inverse_future_markets (line 105) | fn fetch_inverse_future_markets() { function fetch_inverse_swap_markets (line 119) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 133) | fn fetch_linear_swap_markets() { function fetch_option_markets (line 148) | fn fetch_option_markets() { function test_contract_values (line 166) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/bitfinex.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "bitfinex"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_linear_swap_symbols (line 27) | fn fetch_linear_swap_symbols() { function fetch_spot_markets (line 42) | fn fetch_spot_markets() { function fetch_linear_swap_markets (line 55) | fn fetch_linear_swap_markets() { function test_contract_values (line 68) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/bitget.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "bitget"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_inverse_swap_symbols (line 31) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 41) | fn fetch_linear_swap_symbols() { function fetch_inverse_future_symbols (line 51) | fn fetch_inverse_future_symbols() { function fetch_spot_markets (line 62) | fn fetch_spot_markets() { function fetch_inverse_swap_markets (line 75) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 89) | fn fetch_linear_swap_markets() { function fetch_inverse_future_markets (line 103) | fn fetch_inverse_future_markets() { FILE: crypto-markets/tests/bithumb.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "bithumb"; function fetch_all_symbols (line 11) | fn fetch_all_symbols() { function fetch_spot_symbols (line 16) | fn fetch_spot_symbols() { function fetch_spot_markets (line 28) | fn fetch_spot_markets() { FILE: crypto-markets/tests/bitmex.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "bitmex"; function fetch_all_symbols (line 11) | fn fetch_all_symbols() { function fetch_spot_symbols (line 18) | fn fetch_spot_symbols() { function fetch_inverse_swap_symbols (line 29) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 41) | fn fetch_linear_swap_symbols() { function fetch_quanto_swap_symbols (line 52) | fn fetch_quanto_swap_symbols() { function fetch_inverse_future_symbols (line 63) | fn fetch_inverse_future_symbols() { function fetch_quanto_future_symbols (line 81) | fn fetch_quanto_future_symbols() { function fetch_linear_future_symbols (line 101) | fn fetch_linear_future_symbols() { function fetch_inverse_swap_markets (line 112) | fn fetch_inverse_swap_markets() { function test_contract_values (line 124) | fn test_contract_values() { FILE: crypto-markets/tests/bitstamp.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "bitstamp"; function fetch_all_symbols (line 11) | fn fetch_all_symbols() { function fetch_spot_symbols (line 16) | fn fetch_spot_symbols() { function fetch_spot_markets (line 25) | fn fetch_spot_markets() { FILE: crypto-markets/tests/bitz.rs constant EXCHANGE_NAME (line 7) | const EXCHANGE_NAME: &str = "bitz"; function fetch_all_symbols (line 11) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_inverse_swap_symbols (line 27) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 37) | fn fetch_linear_swap_symbols() { FILE: crypto-markets/tests/bybit.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "bybit"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_inverse_swap_symbols (line 17) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 27) | fn fetch_linear_swap_symbols() { function fetch_inverse_future_symbols (line 37) | fn fetch_inverse_future_symbols() { function fetch_inverse_swap_markets (line 48) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 64) | fn fetch_linear_swap_markets() { function fetch_inverse_future_markets (line 80) | fn fetch_inverse_future_markets() { function test_contract_values (line 98) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/coinbase_pro.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "coinbase_pro"; function fetch_all_symbols (line 11) | fn fetch_all_symbols() { function fetch_spot_symbols (line 16) | fn fetch_spot_symbols() { function fetch_spot_markets (line 28) | fn fetch_spot_markets() { FILE: crypto-markets/tests/deribit.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "deribit"; function fetch_inverse_future_symbols (line 12) | fn fetch_inverse_future_symbols() { function fetch_inverse_swap_symbols (line 27) | fn fetch_inverse_swap_symbols() { function fetch_option_symbols (line 38) | fn fetch_option_symbols() { function fetch_inverse_future_markets (line 61) | fn fetch_inverse_future_markets() { function fetch_inverse_swap_markets (line 75) | fn fetch_inverse_swap_markets() { function fetch_option_markets (line 89) | fn fetch_option_markets() { function test_contract_values (line 105) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/dydx.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "dydx"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_linear_swap_symbols (line 17) | fn fetch_linear_swap_symbols() { function fetch_linear_swap_markets (line 28) | fn fetch_linear_swap_markets() { function test_contract_values (line 41) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/ftx.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "ftx"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 18) | fn fetch_spot_symbols() { function fetch_linear_swap_symbols (line 30) | fn fetch_linear_swap_symbols() { function fetch_linear_future_symbols (line 41) | fn fetch_linear_future_symbols() { function fetch_move_symbols (line 53) | fn fetch_move_symbols() { function fetch_bvol_symbols (line 64) | fn fetch_bvol_symbols() { function fetch_spot_markets (line 75) | fn fetch_spot_markets() { function fetch_linear_swap_markets (line 88) | fn fetch_linear_swap_markets() { function fetch_linear_future_markets (line 101) | fn fetch_linear_future_markets() { function fetch_move_markets (line 115) | fn fetch_move_markets() { function fetch_bvol_markets (line 129) | fn fetch_bvol_markets() { FILE: crypto-markets/tests/gate.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "gate"; function fetch_all_symbols (line 11) | fn fetch_all_symbols() { function fetch_spot_symbols (line 16) | fn fetch_spot_symbols() { function fetch_inverse_swap_symbols (line 30) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 39) | fn fetch_linear_swap_symbols() { function fetch_inverse_future_symbols (line 48) | fn fetch_inverse_future_symbols() { function fetch_linear_future_symbols (line 58) | fn fetch_linear_future_symbols() { function fetch_spot_markets (line 69) | fn fetch_spot_markets() { function fetch_inverse_swap_markets (line 84) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 99) | fn fetch_linear_swap_markets() { function fetch_inverse_future_markets (line 115) | fn fetch_inverse_future_markets() { function fetch_linear_future_markets (line 131) | fn fetch_linear_future_markets() { function test_contract_values (line 151) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/huobi.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "huobi"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_inverse_future_symbols (line 27) | fn fetch_inverse_future_symbols() { function fetch_inverse_swap_symbols (line 42) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 52) | fn fetch_linear_swap_symbols() { function fetch_option_symbols (line 63) | fn fetch_option_symbols() { function fetch_spot_markets (line 73) | fn fetch_spot_markets() { function fetch_inverse_future_markets (line 86) | fn fetch_inverse_future_markets() { function fetch_inverse_swap_markets (line 97) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 108) | fn fetch_linear_swap_markets() { function test_contract_values (line 121) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/kraken.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "kraken"; function fetch_all_symbols (line 11) | fn fetch_all_symbols() { function fetch_spot_symbols (line 16) | fn fetch_spot_symbols() { function fetch_inverse_future_symbols (line 26) | fn fetch_inverse_future_symbols() { function fetch_inverse_swap_symbols (line 38) | fn fetch_inverse_swap_symbols() { function fetch_spot_markets (line 49) | fn fetch_spot_markets() { function fetch_inverse_future_markets (line 62) | fn fetch_inverse_future_markets() { function fetch_inverse_swap_markets (line 75) | fn fetch_inverse_swap_markets() { FILE: crypto-markets/tests/kucoin.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "kucoin"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_inverse_swap_symbols (line 28) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 38) | fn fetch_linear_swap_symbols() { function fetch_inverse_future_symbols (line 48) | fn fetch_inverse_future_symbols() { function fetch_spot_markets (line 58) | fn fetch_spot_markets() { function fetch_inverse_future_markets (line 73) | fn fetch_inverse_future_markets() { function fetch_inverse_swap_markets (line 86) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 99) | fn fetch_linear_swap_markets() { function test_contract_values (line 114) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/mexc.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "mexc"; function fetch_spot_symbols (line 12) | fn fetch_spot_symbols() { function fetch_linear_swap_symbols (line 24) | fn fetch_linear_swap_symbols() { function fetch_inverse_swap_symbols (line 34) | fn fetch_inverse_swap_symbols() { function fetch_spot_markets (line 44) | fn fetch_spot_markets() { function fetch_inverse_swap_markets (line 59) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 74) | fn fetch_linear_swap_markets() { function test_contract_values (line 90) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/okx.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "okx"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_inverse_future_symbols (line 27) | fn fetch_inverse_future_symbols() { function fetch_linear_future_symbols (line 40) | fn fetch_linear_future_symbols() { function fetch_inverse_swap_symbols (line 53) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 63) | fn fetch_linear_swap_symbols() { function fetch_option_symbols (line 73) | fn fetch_option_symbols() { function fetch_spot_markets (line 83) | fn fetch_spot_markets() { function fetch_inverse_future_markets (line 96) | fn fetch_inverse_future_markets() { function fetch_linear_future_markets (line 109) | fn fetch_linear_future_markets() { function fetch_inverse_swap_markets (line 122) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 135) | fn fetch_linear_swap_markets() { function fetch_option_markets (line 148) | fn fetch_option_markets() { function test_contract_values (line 165) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/zb.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "zb"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_linear_swap_symbols (line 34) | fn fetch_linear_swap_symbols() { function fetch_spot_markets (line 45) | fn fetch_spot_markets() { function fetch_linear_swap_markets (line 60) | fn fetch_linear_swap_markets() { function test_contract_values (line 75) | fn test_contract_values(market_type: MarketType) { FILE: crypto-markets/tests/zbg.rs constant EXCHANGE_NAME (line 9) | const EXCHANGE_NAME: &str = "zbg"; function fetch_all_symbols (line 12) | fn fetch_all_symbols() { function fetch_spot_symbols (line 17) | fn fetch_spot_symbols() { function fetch_inverse_swap_symbols (line 28) | fn fetch_inverse_swap_symbols() { function fetch_linear_swap_symbols (line 38) | fn fetch_linear_swap_symbols() { function fetch_spot_markets (line 48) | fn fetch_spot_markets() { function fetch_inverse_swap_markets (line 63) | fn fetch_inverse_swap_markets() { function fetch_linear_swap_markets (line 76) | fn fetch_linear_swap_markets() { function test_contract_values (line 90) | fn test_contract_values(market_type: MarketType) { FILE: crypto-msg-type/include/crypto_msg_type.h type MessageType (line 11) | typedef enum { FILE: crypto-msg-type/src/exchanges/binance.rs function msg_type_to_channel (line 5) | fn msg_type_to_channel(msg_type: MessageType) -> &'static str { function channel_symbol_to_topic (line 17) | fn channel_symbol_to_topic( function topics_to_command (line 29) | fn topics_to_command(topics: &[String], subscribe: bool) -> String { function get_ws_commands (line 40) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 61) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 76) | fn multiple_msg_types_single_symbol() { function candlestick (line 91) | fn candlestick() { FILE: crypto-msg-type/src/exchanges/bitfinex.rs function msg_type_symbol_to_command (line 5) | fn msg_type_symbol_to_command( function get_ws_commands (line 36) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 57) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 70) | fn multiple_msg_types_single_symbol() { function candlestick (line 86) | fn candlestick() { FILE: crypto-msg-type/src/exchanges/bitmex.rs function msg_type_to_channel (line 5) | fn msg_type_to_channel(msg_type: MessageType) -> &'static str { function channel_symbol_to_topic (line 16) | fn channel_symbol_to_topic( function topics_to_command (line 28) | fn topics_to_command(topics: &[String], subscribe: bool) -> String { function get_ws_commands (line 36) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 57) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 69) | fn multiple_msg_types_single_symbol() { function candlestick (line 84) | fn candlestick() { FILE: crypto-msg-type/src/exchanges/bybit.rs function msg_type_to_channel (line 5) | fn msg_type_to_channel(msg_type: MessageType) -> &'static str { function channel_symbol_to_topic (line 15) | fn channel_symbol_to_topic( function topics_to_command (line 32) | fn topics_to_command(topics: &[String], subscribe: bool) -> String { function get_ws_commands (line 40) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 61) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 73) | fn multiple_msg_types_single_symbol() { function candlestick (line 88) | fn candlestick() { FILE: crypto-msg-type/src/exchanges/deribit.rs function msg_type_symbol_to_topic (line 5) | fn msg_type_symbol_to_topic( function topics_to_command (line 23) | fn topics_to_command(topics: &[String], subscribe: bool) -> String { function get_ws_commands (line 31) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 51) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 66) | fn multiple_msg_types_single_symbol() { function candlestick (line 81) | fn candlestick() { FILE: crypto-msg-type/src/exchanges/ftx.rs function msg_type_to_channel (line 5) | fn msg_type_to_channel(msg_type: MessageType) -> &'static str { function channel_symbol_to_command (line 14) | fn channel_symbol_to_command(channel: &str, symbol: &str, subscribe: boo... function get_ws_commands (line 23) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 43) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 57) | fn multiple_msg_types_single_symbol() { FILE: crypto-msg-type/src/exchanges/huobi.rs function msg_type_symbol_to_topic (line 5) | fn msg_type_symbol_to_topic( function topic_to_command (line 39) | fn topic_to_command(topic: &str, subscribe: bool) -> String { function get_ws_commands (line 55) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 75) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 88) | fn multiple_msg_types_single_symbol() { function candlestick (line 104) | fn candlestick() { FILE: crypto-msg-type/src/exchanges/okex.rs function get_market_type (line 5) | fn get_market_type(symbol: &str) -> &'static str { function msg_type_to_channel (line 23) | fn msg_type_to_channel(msg_type: MessageType) -> &'static str { function channel_symbol_to_topic (line 35) | fn channel_symbol_to_topic( function topics_to_command (line 48) | fn topics_to_command(topics: &[String], subscribe: bool) -> String { function get_ws_commands (line 56) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 77) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 92) | fn multiple_msg_types_single_symbol() { function candlestick (line 107) | fn candlestick() { FILE: crypto-msg-type/src/exchanges/okx.rs function msg_type_to_channel (line 5) | fn msg_type_to_channel(msg_type: MessageType) -> &'static str { function channel_symbol_to_topic (line 16) | fn channel_symbol_to_topic( function topics_to_command (line 28) | fn topics_to_command(topics: &[String], subscribe: bool) -> String { function get_ws_commands (line 48) | pub(crate) fn get_ws_commands( function single_msg_type_multiple_symbols (line 69) | fn single_msg_type_multiple_symbols() { function multiple_msg_types_single_symbol (line 84) | fn multiple_msg_types_single_symbol() { function candlestick (line 99) | fn candlestick() { FILE: crypto-msg-type/src/lib.rs type MessageType (line 16) | pub enum MessageType { function get_ws_commands (line 55) | pub fn get_ws_commands( FILE: crypto-rest-client/src/error.rs type Result (line 3) | pub(crate) type Result = std::result::Result; type Error (line 6) | pub struct Error(pub String); method fmt (line 9) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from (line 17) | fn from(err: reqwest::Error) -> Self { method from (line 23) | fn from(err: serde_json::Error) -> Self { FILE: crypto-rest-client/src/exchanges/binance/binance_inverse.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://dapi.binance.com"; type BinanceInverseRestClient (line 13) | pub struct BinanceInverseRestClient { method new (line 19) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_agg_trades (line 31) | pub fn fetch_agg_trades( method fetch_l2_snapshot (line 51) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 64) | pub fn fetch_open_interest(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/binance/binance_linear.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://fapi.binance.com"; type BinanceLinearRestClient (line 13) | pub struct BinanceLinearRestClient { method new (line 19) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_agg_trades (line 31) | pub fn fetch_agg_trades( method fetch_l2_snapshot (line 51) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 64) | pub fn fetch_open_interest(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/binance/binance_option.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://vapi.binance.com"; type BinanceOptionRestClient (line 11) | pub struct BinanceOptionRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 26) | pub fn fetch_trades(symbol: &str, start_time: Option) -> Result Result { FILE: crypto-rest-client/src/exchanges/binance/binance_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.binance.com"; type BinanceSpotRestClient (line 14) | pub struct BinanceSpotRestClient { method new (line 20) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_agg_trades (line 29) | pub fn fetch_agg_trades( method fetch_l2_snapshot (line 46) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/binance/mod.rs function fetch_l2_snapshot (line 12) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 28) | pub(crate) fn fetch_open_interest(market_type: MarketType, symbol: &str)... FILE: crypto-rest-client/src/exchanges/binance/utils.rs function check_symbol (line 11) | pub(super) fn check_symbol(symbol: &str) { function check_code_in_body (line 17) | pub(super) fn check_code_in_body(resp: String) -> Result { FILE: crypto-rest-client/src/exchanges/bitfinex.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api-pub.bitfinex.com"; type BitfinexRestClient (line 13) | pub struct BitfinexRestClient { method new (line 19) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 24) | pub fn fetch_trades( method fetch_l2_snapshot (line 41) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_l3_snapshot (line 51) | pub fn fetch_l3_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/bitget/bitget_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.bitget.com"; type BitgetSpotRestClient (line 11) | pub struct BitgetSpotRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 26) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/bitget/bitget_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.bitget.com"; type BitgetSwapRestClient (line 11) | pub struct BitgetSwapRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 26) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 35) | pub fn fetch_open_interest(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/bitget/mod.rs function fetch_l2_snapshot (line 10) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 22) | pub(crate) fn fetch_open_interest(market_type: MarketType, symbol: &str)... FILE: crypto-rest-client/src/exchanges/bithumb.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://global-openapi.bithumb.pro/openapi/v1"; type BithumbRestClient (line 16) | pub struct BithumbRestClient { method new (line 22) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 29) | pub fn fetch_trades(symbol: &str) -> Result { method fetch_l2_snapshot (line 36) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/bitmex.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://www.bitmex.com/api/v1"; type BitmexRestClient (line 17) | pub struct BitmexRestClient { method new (line 23) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 33) | pub fn fetch_trades(symbol: &str, start_time: Option) -> Resul... method fetch_l2_snapshot (line 44) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/bitstamp.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://www.bitstamp.net/api"; type BitstampRestClient (line 16) | pub struct BitstampRestClient { method new (line 22) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 34) | pub fn fetch_trades(symbol: &str, time: Option) -> Result Result { method fetch_l3_snapshot (line 52) | pub fn fetch_l3_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/bitz/bitz_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://apiv2.bitz.com"; type BitzSpotRestClient (line 13) | pub struct BitzSpotRestClient { method new (line 19) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 26) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/bitz/bitz_swap.rs constant BASE_URL (line 8) | const BASE_URL: &str = "https://apiv2.bitz.com"; type BitzSwapRestClient (line 16) | pub struct BitzSwapRestClient { method new (line 22) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 31) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 43) | pub fn fetch_open_interest(symbol: Option<&str>) -> Result { type SwapMarket (line 59) | struct SwapMarket { type Response (line 68) | struct Response { function get_symbol_id_map (line 77) | fn get_symbol_id_map() -> Result> { FILE: crypto-rest-client/src/exchanges/bitz/mod.rs function fetch_l2_snapshot (line 10) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 22) | pub(crate) fn fetch_open_interest(market_type: MarketType, symbol: Optio... FILE: crypto-rest-client/src/exchanges/bybit.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.bybit.com/v2"; type BybitRestClient (line 22) | pub struct BybitRestClient { method new (line 28) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 37) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 48) | pub fn fetch_open_interest(symbol: &str) -> Result { method fetch_long_short_ratio (line 59) | pub fn fetch_long_short_ratio(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/coinbase_pro.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.exchange.coinbase.com"; type CoinbaseProRestClient (line 16) | pub struct CoinbaseProRestClient { method new (line 22) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 31) | pub fn fetch_trades(symbol: &str) -> Result { method fetch_l2_snapshot (line 40) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_l3_snapshot (line 49) | pub fn fetch_l3_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/deribit.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://www.deribit.com/api/v2"; type DeribitRestClient (line 17) | pub struct DeribitRestClient { method new (line 23) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 32) | pub fn fetch_trades(symbol: &str) -> Result { method fetch_l2_snapshot (line 43) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 52) | pub fn fetch_open_interest(symbol: Option<&str>) -> Result { FILE: crypto-rest-client/src/exchanges/dydx/dydx_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.dydx.exchange"; type DydxSwapRestClient (line 13) | pub struct DydxSwapRestClient { method new (line 19) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 28) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 35) | pub fn fetch_open_interest() -> Result { FILE: crypto-rest-client/src/exchanges/dydx/mod.rs function fetch_l2_snapshot (line 6) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 15) | pub(crate) fn fetch_open_interest(market_type: MarketType) -> Result, api_secret: Option) -> Self { method fetch_l2_snapshot (line 32) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 40) | pub fn fetch_open_interest() -> Result { FILE: crypto-rest-client/src/exchanges/gate/gate_future.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.gateio.ws/api/v4"; type GateFutureRestClient (line 11) | pub struct GateFutureRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 29) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/gate/gate_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.gateio.ws/api/v4"; type GateSpotRestClient (line 13) | pub struct GateSpotRestClient { method new (line 19) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 28) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/gate/gate_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.gateio.ws/api/v4"; type GateSwapRestClient (line 13) | pub struct GateSwapRestClient { method new (line 19) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 31) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 47) | pub fn fetch_open_interest(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/gate/mod.rs function fetch_l2_snapshot (line 12) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 27) | pub(crate) fn fetch_open_interest(market_type: MarketType, symbol: &str)... FILE: crypto-rest-client/src/exchanges/huobi/huobi_future.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.hbdm.com"; type HuobiFutureRestClient (line 14) | pub struct HuobiFutureRestClient { method fetch_l2_snapshot (line 27) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 34) | pub fn fetch_open_interest(symbol: Option<&str>) -> Result { FILE: crypto-rest-client/src/exchanges/huobi/huobi_inverse_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.hbdm.com"; type HuobiInverseSwapRestClient (line 16) | pub struct HuobiInverseSwapRestClient { method fetch_l2_snapshot (line 29) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 36) | pub fn fetch_open_interest(symbol: Option<&str>) -> Result { FILE: crypto-rest-client/src/exchanges/huobi/huobi_linear_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.hbdm.com"; type HuobiLinearSwapRestClient (line 16) | pub struct HuobiLinearSwapRestClient { method fetch_l2_snapshot (line 29) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 36) | pub fn fetch_open_interest(symbol: Option<&str>) -> Result { FILE: crypto-rest-client/src/exchanges/huobi/huobi_option.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.hbdm.com/option-ex"; type HuobiOptionRestClient (line 15) | pub struct HuobiOptionRestClient { method fetch_l2_snapshot (line 28) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/huobi/huobi_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.huobi.pro"; type HuobiSpotRestClient (line 14) | pub struct HuobiSpotRestClient { method fetch_l2_snapshot (line 27) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/huobi/mod.rs function fetch_l2_snapshot (line 13) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 38) | pub(crate) fn fetch_open_interest(market_type: MarketType, symbol: Optio... FILE: crypto-rest-client/src/exchanges/kraken/kraken_futures.rs constant BASE_URL (line 6) | const BASE_URL: &str = "https://futures.kraken.com/derivatives/api/v3"; type KrakenFuturesRestClient (line 14) | pub struct KrakenFuturesRestClient { method new (line 20) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 31) | pub fn fetch_trades(symbol: &str, lastTime: Option) -> Result<... method fetch_l2_snapshot (line 38) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/kraken/kraken_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.kraken.com"; type KrakenSpotRestClient (line 15) | pub struct KrakenSpotRestClient { method new (line 21) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 31) | pub fn fetch_trades(symbol: &str, since: Option) -> Result Result { FILE: crypto-rest-client/src/exchanges/kraken/mod.rs function fetch_l2_snapshot (line 7) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... FILE: crypto-rest-client/src/exchanges/kucoin/kucoin_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.kucoin.com"; type KuCoinSpotRestClient (line 12) | pub struct KuCoinSpotRestClient { method new (line 18) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 25) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_l3_snapshot (line 40) | pub fn fetch_l3_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/kucoin/kucoin_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api-futures.kucoin.com"; type KuCoinSwapRestClient (line 12) | pub struct KuCoinSwapRestClient { method new (line 18) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 27) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_l3_snapshot (line 37) | pub fn fetch_l3_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 45) | pub fn fetch_open_interest() -> Result { FILE: crypto-rest-client/src/exchanges/kucoin/mod.rs function fetch_l2_snapshot (line 10) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_l3_snapshot (line 22) | pub(crate) fn fetch_l3_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 34) | pub(crate) fn fetch_open_interest(market_type: MarketType) -> Result) -> Self { method fetch_trades (line 29) | pub fn fetch_trades(symbol: &str) -> Result { method fetch_l2_snapshot (line 38) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/mexc/mexc_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://contract.mexc.com"; type MexcSwapRestClient (line 11) | pub struct MexcSwapRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 24) | pub fn fetch_trades(symbol: &str) -> Result { method fetch_l2_snapshot (line 35) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/mexc/mod.rs function fetch_l2_snapshot (line 7) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... FILE: crypto-rest-client/src/exchanges/okx.rs constant BASE_URL (line 7) | const BASE_URL: &str = "https://www.okx.com"; type OkxRestClient (line 19) | pub struct OkxRestClient { method new (line 25) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_trades (line 34) | pub fn fetch_trades(symbol: &str) -> Result { method fetch_l2_snapshot (line 47) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_option_underlying (line 52) | pub fn fetch_option_underlying() -> Result> { method fetch_open_interest (line 71) | pub fn fetch_open_interest(market_type: MarketType, symbol: Option<&st... FILE: crypto-rest-client/src/exchanges/utils.rs function http_get_raw (line 7) | pub(super) fn http_get_raw(url: &str, params: &BTreeMap)... function http_get (line 33) | pub(super) fn http_get(url: &str, params: &BTreeMap) -> ... function use_system_socks_proxy (line 68) | fn use_system_socks_proxy() { function use_system_https_proxy (line 78) | fn use_system_https_proxy() { FILE: crypto-rest-client/src/exchanges/zb/mod.rs function fetch_l2_snapshot (line 10) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... FILE: crypto-rest-client/src/exchanges/zb/zb_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://api.zb.com"; type ZbSpotRestClient (line 11) | pub struct ZbSpotRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 26) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/zb/zb_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://fapi.zb.com"; type ZbSwapRestClient (line 11) | pub struct ZbSwapRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 28) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/zbg/mod.rs function fetch_l2_snapshot (line 10) | pub(crate) fn fetch_l2_snapshot(market_type: MarketType, symbol: &str) -... function fetch_open_interest (line 22) | pub(crate) fn fetch_open_interest(market_type: MarketType, symbol: &str)... FILE: crypto-rest-client/src/exchanges/zbg/zbg_spot.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://kline.zbg.com"; type ZbgSpotRestClient (line 11) | pub struct ZbgSpotRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 26) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { FILE: crypto-rest-client/src/exchanges/zbg/zbg_swap.rs constant BASE_URL (line 5) | const BASE_URL: &str = "https://www.zbg.com"; type ZbgSwapRestClient (line 11) | pub struct ZbgSwapRestClient { method new (line 17) | pub fn new(api_key: Option, api_secret: Option) -> Self { method fetch_l2_snapshot (line 26) | pub fn fetch_l2_snapshot(symbol: &str) -> Result { method fetch_open_interest (line 35) | pub fn fetch_open_interest(symbol: &str) -> Result { FILE: crypto-rest-client/src/lib.rs function fetch_l2_snapshot_internal (line 40) | fn fetch_l2_snapshot_internal( function fetch_l3_snapshot_internal (line 74) | pub fn fetch_l3_snapshot_internal( function fetch_open_interest (line 95) | pub fn fetch_open_interest( function fetch_long_short_ratio (line 121) | pub fn fetch_long_short_ratio( function fetch_l2_snapshot (line 140) | pub fn fetch_l2_snapshot( function fetch_l3_snapshot (line 153) | pub fn fetch_l3_snapshot( function retriable (line 164) | fn retriable( FILE: crypto-rest-client/tests/binance_inverse.rs function test_agg_trades (line 7) | fn test_agg_trades() { function test_l2_snapshot (line 14) | fn test_l2_snapshot() { function test_open_interest (line 21) | fn test_open_interest() { function test_agg_trades (line 34) | fn test_agg_trades() { function test_l2_snapshot (line 41) | fn test_l2_snapshot() { function test_open_interest (line 49) | fn test_open_interest() { FILE: crypto-rest-client/tests/binance_linear.rs function test_agg_trades (line 7) | fn test_agg_trades() { function test_l2_snapshot (line 13) | fn test_l2_snapshot() { function test_open_interest (line 20) | fn test_open_interest() { function test_agg_trades (line 32) | fn test_agg_trades() { function test_l2_snapshot (line 39) | fn test_l2_snapshot() { function test_open_interest (line 47) | fn test_open_interest() { FILE: crypto-rest-client/tests/binance_option.rs function test_agg_trades (line 6) | fn test_agg_trades() { function test_l2_snapshot (line 13) | fn test_l2_snapshot() { FILE: crypto-rest-client/tests/binance_spot.rs function test_agg_trades (line 5) | fn test_agg_trades() { function test_l2_snapshot (line 11) | fn test_l2_snapshot() { FILE: crypto-rest-client/tests/bitfinex.rs function test_trades (line 5) | fn test_trades() { function test_l2_snapshot (line 11) | fn test_l2_snapshot() { function test_l3_snapshot (line 17) | fn test_l3_snapshot() { FILE: crypto-rest-client/tests/bitget_spot.rs function test_l2_snapshot (line 7) | fn test_l2_snapshot() { FILE: crypto-rest-client/tests/bitget_swap.rs function test_l2_snapshot (line 10) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 22) | fn test_open_interest(market_type: MarketType, symbol: &str) { FILE: crypto-rest-client/tests/bithumb.rs function test_trades (line 8) | fn test_trades() { function test_l2_snapshot (line 18) | fn test_l2_snapshot() { FILE: crypto-rest-client/tests/bitmex.rs function test_trades (line 5) | fn test_trades() { function test_l2_snapshot (line 11) | fn test_l2_snapshot() { FILE: crypto-rest-client/tests/bitstamp.rs function test_trades (line 5) | fn test_trades() { function test_l2_snapshot (line 11) | fn test_l2_snapshot() { function test_l3_snapshot (line 17) | fn test_l3_snapshot() { FILE: crypto-rest-client/tests/bitz_spot.rs function test_l2_snapshot (line 9) | fn test_l2_snapshot() { FILE: crypto-rest-client/tests/bitz_swap.rs function test_l2_snapshot (line 10) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 23) | fn test_open_interest(market_type: MarketType) { FILE: crypto-rest-client/tests/bybit.rs function test_l2_snapshot (line 11) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 24) | fn test_open_interest(market_type: MarketType, symbol: &str) { function test_long_short_ratio (line 36) | fn test_long_short_ratio(market_type: MarketType, symbol: &str) { FILE: crypto-rest-client/tests/coinbase_pro.rs function test_trades (line 5) | fn test_trades() { function test_l2_snapshot (line 11) | fn test_l2_snapshot() { function test_l3_snapshot (line 17) | fn test_l3_snapshot() { FILE: crypto-rest-client/tests/deribit.rs function test_trades (line 10) | fn test_trades(symbol: &str) { function test_l2_snapshot (line 22) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 35) | fn test_open_interest(market_type: MarketType) { FILE: crypto-rest-client/tests/dydx.rs function test_l2_snapshot (line 8) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 19) | fn test_open_interest(market_type: MarketType) { FILE: crypto-rest-client/tests/ftx.rs function test_l2_snapshot (line 13) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 24) | fn test_open_interest() { FILE: crypto-rest-client/tests/gate.rs function test_l2_snapshot (line 12) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 25) | fn test_open_interest(market_type: MarketType, symbol: &str) { FILE: crypto-rest-client/tests/huobi.rs function test_l2_snapshot (line 12) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 31) | fn test_open_interest(market_type: MarketType) { function test_trades (line 43) | fn test_trades() { function test_trades (line 54) | fn test_trades() { function test_trades (line 65) | fn test_trades() { function test_trades (line 76) | fn test_trades() { function test_trades (line 88) | fn test_trades() { FILE: crypto-rest-client/tests/kraken.rs function test_trades (line 9) | fn test_trades() { function test_restful_accepts_two_symbols (line 20) | fn test_restful_accepts_two_symbols() { function test_l2_snapshot (line 34) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { FILE: crypto-rest-client/tests/kucoin.rs function test_l2_snapshot (line 11) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_l3_snapshot (line 30) | fn test_l3_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 47) | fn test_open_interest(market_type: MarketType) { FILE: crypto-rest-client/tests/mexc.rs function test_trades (line 6) | fn test_trades() { function test_l2_snapshot (line 12) | fn test_l2_snapshot() { function test_trades (line 24) | fn test_trades() { function test_l2_snapshot (line 30) | fn test_l2_snapshot() { FILE: crypto-rest-client/tests/okx.rs function test_l2_snapshot (line 13) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 23) | fn test_open_interest(market_type: MarketType, symbol: &str) { function test_trades (line 38) | fn test_trades() { function test_option_underlying (line 46) | fn test_option_underlying() { FILE: crypto-rest-client/tests/zb.rs function test_spot_l2_snapshot (line 8) | fn test_spot_l2_snapshot() { function test_swap_l2_snapshot (line 17) | fn test_swap_l2_snapshot() { FILE: crypto-rest-client/tests/zbg.rs function test_l2_snapshot (line 11) | fn test_l2_snapshot(market_type: MarketType, symbol: &str) { function test_open_interest (line 31) | fn test_open_interest(market_type: MarketType, symbol: &str) { FILE: crypto-ws-client/src/clients/binance.rs constant EXCHANGE_NAME (line 18) | pub(crate) const EXCHANGE_NAME: &str = "binance"; constant SPOT_WEBSOCKET_URL (line 20) | const SPOT_WEBSOCKET_URL: &str = "wss://stream.binance.com:9443/stream"; constant LINEAR_WEBSOCKET_URL (line 21) | const LINEAR_WEBSOCKET_URL: &str = "wss://fstream.binance.com/stream"; constant INVERSE_WEBSOCKET_URL (line 22) | const INVERSE_WEBSOCKET_URL: &str = "wss://dstream.binance.com/stream"; constant WS_FRAME_SIZE (line 26) | const WS_FRAME_SIZE: usize = 4096; constant UPLINK_LIMIT (line 35) | const UPLINK_LIMIT: (NonZeroU32, std::time::Duration) = type BinanceWSClient (line 39) | pub struct BinanceWSClient { type BinanceSpotWSClient (line 48) | pub type BinanceSpotWSClient = BinanceWSClient<'S'>; type BinanceInverseWSClient (line 54) | pub type BinanceInverseWSClient = BinanceWSClient<'I'>; type BinanceLinearWSClient (line 60) | pub type BinanceLinearWSClient = BinanceWSClient<'L'>; function new (line 63) | pub async fn new(tx: std::sync::mpsc::Sender, url: Option<&str>)... method subscribe_trade (line 94) | async fn subscribe_trade(&self, symbols: &[String]) { method subscribe_orderbook (line 102) | async fn subscribe_orderbook(&self, symbols: &[String]) { method subscribe_orderbook_topk (line 110) | async fn subscribe_orderbook_topk(&self, symbols: &[String]) { method subscribe_l3_orderbook (line 118) | async fn subscribe_l3_orderbook(&self, _symbols: &[String]) { method subscribe_ticker (line 122) | async fn subscribe_ticker(&self, symbols: &[String]) { method subscribe_bbo (line 130) | async fn subscribe_bbo(&self, symbols: &[String]) { method subscribe_candlestick (line 138) | async fn subscribe_candlestick(&self, symbol_interval_list: &[(String, u... method subscribe (line 144) | async fn subscribe(&self, topics: &[(String, String)]) { method unsubscribe (line 149) | async fn unsubscribe(&self, topics: &[(String, String)]) { method send (line 154) | async fn send(&self, commands: &[String]) { method run (line 158) | async fn run(&self) { method close (line 162) | async fn close(&self) { type BinanceMessageHandler (line 167) | struct BinanceMessageHandler {} type BinanceCommandTranslator (line 168) | struct BinanceCommandTranslator { method topics_to_command (line 173) | fn topics_to_command(topics: &[(String, String)], subscribe: bool) -> ... method to_candlestick_raw_channel (line 186) | fn to_candlestick_raw_channel(interval: usize) -> String { method handle_message (line 210) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 236) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 249) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 267) | fn translate_to_candlestick_commands( function test_one_topic (line 288) | fn test_one_topic() { function test_two_topics (line 301) | fn test_two_topics() { FILE: crypto-ws-client/src/clients/binance_option.rs constant EXCHANGE_NAME (line 19) | pub(crate) const EXCHANGE_NAME: &str = "binance"; constant WEBSOCKET_URL (line 21) | pub(super) const WEBSOCKET_URL: &str = "wss://stream.opsnest.com/stream"; type BinanceOptionWSClient (line 27) | pub struct BinanceOptionWSClient { type BinanceOptionMessageHandler (line 52) | struct BinanceOptionMessageHandler {} type BinanceOptionCommandTranslator (line 53) | struct BinanceOptionCommandTranslator {} method topics_to_command (line 56) | fn topics_to_command(topics: &[(String, String)], subscribe: bool) -> ... method to_candlestick_raw_channel (line 69) | fn to_candlestick_raw_channel(interval: usize) -> String { method handle_message (line 86) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 118) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 129) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 134) | fn translate_to_candlestick_commands( function test_one_topic (line 155) | fn test_one_topic() { function test_two_topics (line 170) | fn test_two_topics() { FILE: crypto-ws-client/src/clients/bitfinex.rs constant EXCHANGE_NAME (line 23) | pub(super) const EXCHANGE_NAME: &str = "bitfinex"; constant WEBSOCKET_URL (line 25) | const WEBSOCKET_URL: &str = "wss://api-pub.bitfinex.com/ws/2"; type BitfinexWSClient (line 33) | pub struct BitfinexWSClient { method subscribe_orderbook (line 55) | async fn subscribe_orderbook(&self, symbols: &[String]) { method subscribe_l3_orderbook (line 70) | async fn subscribe_l3_orderbook(&self, symbols: &[String]) { type BitfinexMessageHandler (line 85) | struct BitfinexMessageHandler { type BitfinexCommandTranslator (line 88) | struct BitfinexCommandTranslator {} method topic_to_command (line 91) | fn topic_to_command(channel: &str, symbol: &str, subscribe: bool) -> S... method to_candlestick_command (line 99) | fn to_candlestick_command(symbol: &str, interval: usize, subscribe: bo... method handle_message (line 126) | fn handle_message(&mut self, txt: &str) -> MiscMessage { method get_ping_msg_and_interval (line 251) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 259) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 266) | fn translate_to_candlestick_commands( function test_spot_command (line 283) | fn test_spot_command() { function test_swap_command (line 296) | fn test_swap_command() { FILE: crypto-ws-client/src/clients/bitget/bitget_spot.rs constant WEBSOCKET_URL (line 16) | const WEBSOCKET_URL: &str = "wss://ws.bitget.com/spot/v1/stream"; type BitgetSpotWSClient (line 22) | pub struct BitgetSpotWSClient { method new (line 28) | pub async fn new(tx: std::sync::mpsc::Sender, url: Option<&str... FILE: crypto-ws-client/src/clients/bitget/bitget_swap.rs constant WEBSOCKET_URL (line 16) | const WEBSOCKET_URL: &str = "wss://ws.bitget.com/mix/v1/stream"; type BitgetSwapWSClient (line 22) | pub struct BitgetSwapWSClient { method new (line 28) | pub async fn new(tx: std::sync::mpsc::Sender, url: Option<&str... FILE: crypto-ws-client/src/clients/bitget/mod.rs constant EXCHANGE_NAME (line 8) | pub(super) const EXCHANGE_NAME: &str = "bitget"; FILE: crypto-ws-client/src/clients/bitget/utils.rs constant EXCHANGE_NAME (line 17) | pub(crate) const EXCHANGE_NAME: &str = "bitget"; constant WS_FRAME_SIZE (line 22) | const WS_FRAME_SIZE: usize = 4096; constant UPLINK_LIMIT (line 27) | pub(super) const UPLINK_LIMIT: (NonZeroU32, std::time::Duration) = type BitgetMessageHandler (line 31) | pub(super) struct BitgetMessageHandler {} type BitgetCommandTranslator (line 32) | pub(super) struct BitgetCommandTranslator {} function topics_to_command (line 36) | fn topics_to_command(topics: &[(String, String)], subscribe: bool) -> St... function to_candlestick_raw_channel (line 70) | fn to_candlestick_raw_channel(interval: usize) -> &'static str { method handle_message (line 88) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 116) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 123) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 127) | fn translate_to_candlestick_commands( function test_one_topic (line 148) | fn test_one_topic() { function test_two_topics (line 161) | fn test_two_topics() { function test_candlestick (line 179) | fn test_candlestick() { FILE: crypto-ws-client/src/clients/bithumb.rs constant EXCHANGE_NAME (line 20) | pub(super) const EXCHANGE_NAME: &str = "bithumb"; constant WEBSOCKET_URL (line 22) | const WEBSOCKET_URL: &str = "wss://global-api.bithumb.pro/message/realti... type BithumbWSClient (line 30) | pub struct BithumbWSClient { type BithumbMessageHandler (line 57) | struct BithumbMessageHandler {} type BithumbCommandTranslator (line 58) | struct BithumbCommandTranslator {} method topics_to_command (line 94) | fn topics_to_command(topics: &[(String, String)], subscribe: bool) -> ... method handle_message (line 61) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 88) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 106) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 110) | fn translate_to_candlestick_commands( function test_two_symbols (line 124) | fn test_two_symbols() { function test_two_channels (line 142) | fn test_two_channels() { FILE: crypto-ws-client/src/clients/bitmex.rs constant EXCHANGE_NAME (line 19) | pub(super) const EXCHANGE_NAME: &str = "bitmex"; constant WEBSOCKET_URL (line 21) | const WEBSOCKET_URL: &str = "wss://www.bitmex.com/realtime"; constant MAX_CHANNELS_PER_COMMAND (line 24) | const MAX_CHANNELS_PER_COMMAND: usize = 20; type BitmexWSClient (line 32) | pub struct BitmexWSClient { type BitmexMessageHandler (line 57) | struct BitmexMessageHandler {} type BitmexCommandTranslator (line 58) | struct BitmexCommandTranslator {} method topics_to_command (line 61) | fn topics_to_command(topics: &[(String, String)], subscribe: bool) -> ... method to_candlestick_raw_channel (line 74) | fn to_candlestick_raw_channel(interval: usize) -> String { method handle_message (line 87) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 134) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 140) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 153) | fn translate_to_candlestick_commands( function test_one_topic (line 174) | fn test_one_topic() { function test_multiple_topics (line 184) | fn test_multiple_topics() { FILE: crypto-ws-client/src/clients/bitstamp.rs constant EXCHANGE_NAME (line 19) | pub(super) const EXCHANGE_NAME: &str = "bitstamp"; constant WEBSOCKET_URL (line 21) | const WEBSOCKET_URL: &str = "wss://ws.bitstamp.net"; type BitstampWSClient (line 29) | pub struct BitstampWSClient { type BitstampMessageHandler (line 56) | struct BitstampMessageHandler {} type BitstampCommandTranslator (line 57) | struct BitstampCommandTranslator {} method handle_message (line 60) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 87) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 94) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 108) | fn translate_to_candlestick_commands( function test_one_topic (line 122) | fn test_one_topic() { function test_two_topics (line 135) | fn test_two_topics() { FILE: crypto-ws-client/src/clients/bitz/bitz_spot.rs constant WEBSOCKET_URL (line 25) | const WEBSOCKET_URL: &str = "wss://wsapi.bitz.plus/"; type BitzSpotWSClient (line 31) | pub struct BitzSpotWSClient { type BitzMessageHandler (line 58) | struct BitzMessageHandler {} type BitzCommandTranslator (line 59) | struct BitzCommandTranslator {} method symbol_channels_to_command (line 104) | fn symbol_channels_to_command(pair: &str, channels: &[String], subscri... method to_candlestick_command (line 114) | fn to_candlestick_command(symbol: &str, interval: usize, subscribe: bo... method handle_message (line 62) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 97) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 141) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 161) | fn translate_to_candlestick_commands( FILE: crypto-ws-client/src/clients/bitz/mod.rs constant EXCHANGE_NAME (line 7) | pub(super) const EXCHANGE_NAME: &str = "bitz"; FILE: crypto-ws-client/src/clients/bybit/bybit_inverse.rs constant WEBSOCKET_URL (line 13) | const WEBSOCKET_URL: &str = "wss://stream.bybit.com/realtime"; type BybitInverseWSClient (line 24) | pub struct BybitInverseWSClient { type BybitInverseCommandTranslator (line 51) | struct BybitInverseCommandTranslator {} method to_candlestick_raw_channel (line 56) | fn to_candlestick_raw_channel(interval: usize) -> String { method translate_to_commands (line 79) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 83) | fn translate_to_candlestick_commands( FILE: crypto-ws-client/src/clients/bybit/bybit_linear_swap.rs constant WEBSOCKET_URL (line 13) | const WEBSOCKET_URL: &str = "wss://stream.bybit.com/realtime_public"; type BybitLinearSwapWSClient (line 19) | pub struct BybitLinearSwapWSClient { type BybitLinearCommandTranslator (line 46) | struct BybitLinearCommandTranslator {} method to_candlestick_raw_channel (line 50) | fn to_candlestick_raw_channel(interval: usize) -> String { method translate_to_commands (line 73) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 77) | fn translate_to_candlestick_commands( FILE: crypto-ws-client/src/clients/bybit/utils.rs constant EXCHANGE_NAME (line 9) | pub(super) const EXCHANGE_NAME: &str = "bybit"; function topics_to_command (line 11) | pub(super) fn topics_to_command(topics: &[(String, String)], subscribe: ... type BybitMessageHandler (line 23) | pub(super) struct BybitMessageHandler {} method handle_message (line 26) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 51) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { function test_one_channel (line 62) | fn test_one_channel() { function test_multiple_channels (line 69) | fn test_multiple_channels() { FILE: crypto-ws-client/src/clients/coinbase_pro.rs constant EXCHANGE_NAME (line 19) | pub(super) const EXCHANGE_NAME: &str = "coinbase_pro"; constant WEBSOCKET_URL (line 21) | const WEBSOCKET_URL: &str = "wss://ws-feed.exchange.coinbase.com"; type CoinbaseProWSClient (line 29) | pub struct CoinbaseProWSClient { type CoinbaseProMessageHandler (line 55) | struct CoinbaseProMessageHandler {} type CoinbaseProCommandTranslator (line 56) | struct CoinbaseProCommandTranslator {} method handle_message (line 59) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 95) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 101) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 143) | fn translate_to_candlestick_commands( function test_two_symbols (line 157) | fn test_two_symbols() { function test_two_channels (line 175) | fn test_two_channels() { FILE: crypto-ws-client/src/clients/common_traits.rs type Trade (line 5) | pub(super) trait Trade { method subscribe_trade (line 6) | async fn subscribe_trade(&self, symbols: &[String]); type Ticker (line 11) | pub(super) trait Ticker { method subscribe_ticker (line 12) | async fn subscribe_ticker(&self, symbols: &[String]); type BBO (line 18) | pub(super) trait BBO { method subscribe_bbo (line 19) | async fn subscribe_bbo(&self, symbols: &[String]); type OrderBook (line 24) | pub(super) trait OrderBook { method subscribe_orderbook (line 25) | async fn subscribe_orderbook(&self, symbols: &[String]); type OrderBookTopK (line 29) | pub(super) trait OrderBookTopK { method subscribe_orderbook_topk (line 31) | async fn subscribe_orderbook_topk(&self, symbols: &[String]); type Level3OrderBook (line 36) | pub(super) trait Level3OrderBook { method subscribe_l3_orderbook (line 41) | async fn subscribe_l3_orderbook(&self, symbols: &[String]); type Candlestick (line 45) | pub(super) trait Candlestick { method subscribe_candlestick (line 50) | async fn subscribe_candlestick(&self, symbol_interval_list: &[(String,... FILE: crypto-ws-client/src/clients/deribit.rs constant EXCHANGE_NAME (line 21) | pub(super) const EXCHANGE_NAME: &str = "deribit"; constant WEBSOCKET_URL (line 23) | const WEBSOCKET_URL: &str = "wss://www.deribit.com/ws/api/v2/"; constant WS_FRAME_SIZE (line 27) | const WS_FRAME_SIZE: usize = 32 * 1024; type DeribitWSClient (line 37) | pub struct DeribitWSClient { type DeribitMessageHandler (line 66) | struct DeribitMessageHandler {} type DeribitCommandTranslator (line 67) | struct DeribitCommandTranslator {} method topics_to_command (line 70) | fn topics_to_command(topics: &[(String, String)], subscribe: bool) -> ... method to_candlestick_channel (line 79) | fn to_candlestick_channel(interval: usize) -> String { method handle_message (line 100) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 140) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 146) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 156) | fn translate_to_candlestick_commands( function test_one_channel (line 174) | fn test_one_channel() { function test_two_channel (line 193) | fn test_two_channel() { FILE: crypto-ws-client/src/clients/dydx/dydx_swap.rs constant WEBSOCKET_URL (line 21) | const WEBSOCKET_URL: &str = "wss://api.dydx.exchange/v3/ws"; type DydxSwapWSClient (line 27) | pub struct DydxSwapWSClient { type DydxMessageHandler (line 52) | struct DydxMessageHandler {} type DydxCommandTranslator (line 53) | struct DydxCommandTranslator {} method topic_to_command (line 96) | fn topic_to_command(topic: &(String, String), subscribe: bool) -> Stri... method handle_message (line 56) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 87) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 107) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 111) | fn translate_to_candlestick_commands( function test_one_topic (line 125) | fn test_one_topic() { function test_two_topic (line 138) | fn test_two_topic() { FILE: crypto-ws-client/src/clients/dydx/mod.rs constant EXCHANGE_NAME (line 5) | const EXCHANGE_NAME: &str = "dydx"; FILE: crypto-ws-client/src/clients/ftx.rs constant EXCHANGE_NAME (line 20) | pub(super) const EXCHANGE_NAME: &str = "ftx"; constant WEBSOCKET_URL (line 22) | const WEBSOCKET_URL: &str = "wss://ftx.com/ws/"; type FtxWSClient (line 30) | pub struct FtxWSClient { type FtxMessageHandler (line 54) | struct FtxMessageHandler {} type FtxCommandTranslator (line 55) | struct FtxCommandTranslator {} method handle_message (line 58) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 88) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 96) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 110) | fn translate_to_candlestick_commands( function test_one_topic (line 124) | fn test_one_topic() { function test_two_topic (line 134) | fn test_two_topic() { FILE: crypto-ws-client/src/clients/gate/gate_future.rs constant INVERSE_FUTURE_WEBSOCKET_URL (line 12) | const INVERSE_FUTURE_WEBSOCKET_URL: &str = "wss://fx-ws.gateio.ws/v4/ws/... constant LINEAR_FUTURE_WEBSOCKET_URL (line 13) | const LINEAR_FUTURE_WEBSOCKET_URL: &str = "wss://fx-ws.gateio.ws/v4/ws/d... type GateInverseFutureWSClient (line 19) | pub struct GateInverseFutureWSClient { type GateLinearFutureWSClient (line 28) | pub struct GateLinearFutureWSClient { FILE: crypto-ws-client/src/clients/gate/gate_spot.rs constant WEBSOCKET_URL (line 12) | const WEBSOCKET_URL: &str = "wss://api.gateio.ws/ws/v4/"; type GateSpotWSClient (line 18) | pub struct GateSpotWSClient { FILE: crypto-ws-client/src/clients/gate/gate_swap.rs constant INVERSE_SWAP_WEBSOCKET_URL (line 12) | const INVERSE_SWAP_WEBSOCKET_URL: &str = "wss://fx-ws.gateio.ws/v4/ws/btc"; constant LINEAR_SWAP_WEBSOCKET_URL (line 13) | const LINEAR_SWAP_WEBSOCKET_URL: &str = "wss://fx-ws.gateio.ws/v4/ws/usdt"; type GateInverseSwapWSClient (line 19) | pub struct GateInverseSwapWSClient { type GateLinearSwapWSClient (line 28) | pub struct GateLinearSwapWSClient { FILE: crypto-ws-client/src/clients/gate/utils.rs constant EXCHANGE_NAME (line 12) | pub(super) const EXCHANGE_NAME: &str = "gate"; type GateMessageHandler (line 15) | pub(super) struct GateMessageHandler {} type GateCommandTranslator (line 16) | pub(super) struct GateCommandTranslator {} method handle_message (line 19) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 63) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { function channel_symbols_to_command (line 76) | fn channel_symbols_to_command( function to_candlestick_command (line 128) | fn to_candlestick_command(symbol: &str, interval: usize, subscribe: bool... method translate_to_commands (line 153) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 173) | fn translate_to_candlestick_commands( function test_spot (line 190) | fn test_spot() { function test_futures (line 240) | fn test_futures() { FILE: crypto-ws-client/src/clients/huobi.rs constant EXCHANGE_NAME (line 17) | pub(crate) const EXCHANGE_NAME: &str = "huobi"; constant SPOT_WEBSOCKET_URL (line 20) | const SPOT_WEBSOCKET_URL: &str = "wss://api.huobi.pro/ws"; constant FUTURES_WEBSOCKET_URL (line 25) | const FUTURES_WEBSOCKET_URL: &str = "wss://futures.huobi.com/ws"; constant COIN_SWAP_WEBSOCKET_URL (line 26) | const COIN_SWAP_WEBSOCKET_URL: &str = "wss://futures.huobi.com/swap-ws"; constant USDT_SWAP_WEBSOCKET_URL (line 27) | const USDT_SWAP_WEBSOCKET_URL: &str = "wss://futures.huobi.com/linear-sw... constant OPTION_WEBSOCKET_URL (line 28) | const OPTION_WEBSOCKET_URL: &str = "wss://futures.huobi.com/option-ws"; type HuobiWSClient (line 31) | pub struct HuobiWSClient { type HuobiSpotWSClient (line 40) | pub type HuobiSpotWSClient = HuobiWSClient<'S'>; type HuobiFutureWSClient (line 46) | pub type HuobiFutureWSClient = HuobiWSClient<'F'>; type HuobiInverseSwapWSClient (line 54) | pub type HuobiInverseSwapWSClient = HuobiWSClient<'I'>; type HuobiLinearSwapWSClient (line 62) | pub type HuobiLinearSwapWSClient = HuobiWSClient<'L'>; type HuobiOptionWSClient (line 69) | pub type HuobiOptionWSClient = HuobiWSClient<'O'>; function new (line 72) | pub async fn new(tx: std::sync::mpsc::Sender, url: Option<&str>)... method subscribe_trade (line 107) | async fn subscribe_trade(&self, symbols: &[String]) { method subscribe_orderbook (line 115) | async fn subscribe_orderbook(&self, symbols: &[String]) { method subscribe_orderbook_topk (line 131) | async fn subscribe_orderbook_topk(&self, symbols: &[String]) { method subscribe_l3_orderbook (line 140) | async fn subscribe_l3_orderbook(&self, _symbols: &[String]) { method subscribe_ticker (line 144) | async fn subscribe_ticker(&self, symbols: &[String]) { method subscribe_bbo (line 152) | async fn subscribe_bbo(&self, symbols: &[String]) { method subscribe_candlestick (line 160) | async fn subscribe_candlestick(&self, symbol_interval_list: &[(String, u... method subscribe (line 166) | async fn subscribe(&self, topics: &[(String, String)]) { method unsubscribe (line 171) | async fn unsubscribe(&self, topics: &[(String, String)]) { method send (line 176) | async fn send(&self, commands: &[String]) { method run (line 180) | async fn run(&self) { method close (line 184) | async fn close(&self) { type HuobiMessageHandler (line 189) | struct HuobiMessageHandler {} type HuobiCommandTranslator (line 190) | struct HuobiCommandTranslator {} method topic_to_command (line 193) | fn topic_to_command(channel: &str, symbol: &str, subscribe: bool) -> S... method to_candlestick_raw_channel (line 203) | fn to_candlestick_raw_channel(interval: usize) -> String { method handle_message (line 221) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 284) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 296) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 305) | fn translate_to_candlestick_commands( function test_one_topic (line 326) | fn test_one_topic() { function test_two_topics (line 336) | fn test_two_topics() { FILE: crypto-ws-client/src/clients/kraken/kraken_futures.rs constant WEBSOCKET_URL (line 21) | const WEBSOCKET_URL: &str = "wss://futures.kraken.com/ws/v1"; type KrakenFuturesWSClient (line 28) | pub struct KrakenFuturesWSClient { type KrakenMessageHandler (line 55) | struct KrakenMessageHandler {} type KrakenCommandTranslator (line 56) | struct KrakenCommandTranslator {} method channel_symbols_to_command (line 59) | fn channel_symbols_to_command(channel: &str, symbols: &[String], subsc... method handle_message (line 70) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 101) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 110) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 131) | fn translate_to_candlestick_commands( function test_one_symbol (line 145) | fn test_one_symbol() { function test_two_symbols (line 159) | fn test_two_symbols() { FILE: crypto-ws-client/src/clients/kraken/kraken_spot.rs constant WEBSOCKET_URL (line 21) | const WEBSOCKET_URL: &str = "wss://ws.kraken.com"; type KrakenSpotWSClient (line 28) | pub struct KrakenSpotWSClient { type KrakenMessageHandler (line 55) | struct KrakenMessageHandler {} type KrakenCommandTranslator (line 56) | struct KrakenCommandTranslator {} method name_symbols_to_command (line 133) | fn name_symbols_to_command(name: &str, symbols: &[String], subscribe: ... method convert_symbol_interval_list (line 151) | fn convert_symbol_interval_list( method handle_message (line 59) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 125) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 168) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 188) | fn translate_to_candlestick_commands( function test_one_symbol (line 233) | fn test_one_symbol() { function test_two_symbols (line 246) | fn test_two_symbols() { FILE: crypto-ws-client/src/clients/kraken/mod.rs constant EXCHANGE_NAME (line 4) | const EXCHANGE_NAME: &str = "kraken"; FILE: crypto-ws-client/src/clients/kucoin/kucoin_spot.rs type KuCoinSpotWSClient (line 16) | pub struct KuCoinSpotWSClient { method new (line 28) | pub async fn new(tx: Sender, url: Option<&str>) -> Self { type KucoinCommandTranslator (line 66) | struct KucoinCommandTranslator {} method to_candlestick_channel (line 69) | fn to_candlestick_channel(symbol: &str, interval: usize) -> String { method translate_to_commands (line 93) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 97) | fn translate_to_candlestick_commands( function test_one_channel (line 117) | fn test_one_channel() { function test_two_channels (line 144) | fn test_two_channels() { function test_candlestick (line 186) | fn test_candlestick() { FILE: crypto-ws-client/src/clients/kucoin/kucoin_swap.rs type KuCoinSwapWSClient (line 16) | pub struct KuCoinSwapWSClient { method new (line 28) | pub async fn new(tx: Sender, url: Option<&str>) -> Self { type KucoinCommandTranslator (line 68) | struct KucoinCommandTranslator {} method to_candlestick_channel (line 71) | fn to_candlestick_channel(symbol: &str, interval: usize) -> String { method translate_to_commands (line 84) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 88) | fn translate_to_candlestick_commands( function test_one_channel (line 112) | fn test_one_channel() { function test_two_channels (line 141) | fn test_two_channels() { function test_candlestick (line 183) | fn test_candlestick() { FILE: crypto-ws-client/src/clients/kucoin/utils.rs constant EXCHANGE_NAME (line 14) | pub(super) const EXCHANGE_NAME: &str = "kucoin"; constant MAX_TOPICS_PER_COMMAND (line 18) | const MAX_TOPICS_PER_COMMAND: usize = 100; constant UPLINK_LIMIT (line 21) | pub(super) const UPLINK_LIMIT: (NonZeroU32, std::time::Duration) = type WebsocketToken (line 24) | pub(super) struct WebsocketToken { function http_post (line 29) | async fn http_post(url: &str) -> Result { function fetch_ws_token (line 47) | pub(super) async fn fetch_ws_token() -> WebsocketToken { function channel_symbols_to_command (line 65) | fn channel_symbols_to_command(channel: &str, symbols: &[String], subscri... function topics_to_commands (line 74) | pub(super) fn topics_to_commands(topics: &[(String, String)], subscribe:... type KucoinMessageHandler (line 104) | pub(super) struct KucoinMessageHandler {} method handle_message (line 107) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 130) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { function fetch_ws_token (line 144) | async fn fetch_ws_token() { function test_topics_to_commands (line 150) | fn test_topics_to_commands() { FILE: crypto-ws-client/src/clients/mexc/mexc_spot.rs constant SPOT_WEBSOCKET_URL (line 20) | pub(super) const SPOT_WEBSOCKET_URL: &str = "wss://wbs.mexc.com/raw/ws"; type MexcSpotWSClient (line 26) | pub struct MexcSpotWSClient { type MexcMessageHandler (line 53) | struct MexcMessageHandler {} type MexcCommandTranslator (line 54) | struct MexcCommandTranslator {} method topic_to_command (line 95) | fn topic_to_command(channel: &str, symbol: &str, subscribe: bool) -> S... method interval_to_string (line 113) | fn interval_to_string(interval: usize) -> String { method handle_message (line 57) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 89) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 134) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 143) | fn translate_to_candlestick_commands( function test_one_topic (line 167) | fn test_one_topic() { function test_two_topic (line 177) | fn test_two_topic() { function test_candlestick (line 193) | fn test_candlestick() { FILE: crypto-ws-client/src/clients/mexc/mexc_swap.rs constant SWAP_WEBSOCKET_URL (line 21) | pub(super) const SWAP_WEBSOCKET_URL: &str = "wss://contract.mexc.com/ws"; type MexcSwapWSClient (line 27) | pub struct MexcSwapWSClient { type MexcMessageHandler (line 55) | struct MexcMessageHandler {} type MexcCommandTranslator (line 56) | struct MexcCommandTranslator {} method topic_to_command (line 91) | fn topic_to_command(channel: &str, symbol: &str, subscribe: bool) -> S... method interval_to_string (line 100) | fn interval_to_string(interval: usize) -> String { method handle_message (line 59) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 84) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 121) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 130) | fn translate_to_candlestick_commands( function test_one_topic (line 154) | fn test_one_topic() { function test_two_topic (line 164) | fn test_two_topic() { function test_candlestick (line 180) | fn test_candlestick() { FILE: crypto-ws-client/src/clients/mexc/mod.rs constant EXCHANGE_NAME (line 4) | pub(super) const EXCHANGE_NAME: &str = "mexc"; FILE: crypto-ws-client/src/clients/okx.rs constant EXCHANGE_NAME (line 25) | pub(crate) const EXCHANGE_NAME: &str = "okx"; constant WEBSOCKET_URL (line 27) | const WEBSOCKET_URL: &str = "wss://ws.okx.com:8443/ws/v5/public"; constant WS_FRAME_SIZE (line 31) | const WS_FRAME_SIZE: usize = 4096; constant UPLINK_LIMIT (line 35) | const UPLINK_LIMIT: (NonZeroU32, std::time::Duration) = type OkxWSClient (line 48) | pub struct OkxWSClient { method new (line 54) | pub async fn new(tx: std::sync::mpsc::Sender, url: Option<&str... type OkxMessageHandler (line 86) | struct OkxMessageHandler {} type OkxCommandTranslator (line 87) | struct OkxCommandTranslator {} method topics_to_command (line 90) | fn topics_to_command(chunk: &[(String, String)], subscribe: bool) -> S... method to_candlestick_raw_channel (line 109) | fn to_candlestick_raw_channel(interval: usize) -> &'static str { method handle_message (line 133) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 171) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 178) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 182) | fn translate_to_candlestick_commands( function test_one_topic (line 203) | fn test_one_topic() { function test_two_topics (line 216) | fn test_two_topics() { FILE: crypto-ws-client/src/clients/zb/mod.rs constant EXCHANGE_NAME (line 7) | const EXCHANGE_NAME: &str = "zb"; FILE: crypto-ws-client/src/clients/zb/zb_spot.rs constant WEBSOCKET_URL (line 23) | const WEBSOCKET_URL: &str = "wss://api.zb.com/websocket"; type ZbSpotWSClient (line 29) | pub struct ZbSpotWSClient { type ZbMessageHandler (line 56) | struct ZbMessageHandler {} type ZbCommandTranslator (line 57) | struct ZbCommandTranslator {} method to_candlestick_raw_channel (line 87) | fn to_candlestick_raw_channel(&self, symbol: &str, interval: usize) ->... method handle_message (line 60) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 81) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 111) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 125) | fn translate_to_candlestick_commands( function test_one_topic (line 148) | async fn test_one_topic() { function test_two_topic (line 158) | async fn test_two_topic() { function test_candlestick (line 174) | async fn test_candlestick() { FILE: crypto-ws-client/src/clients/zb/zb_swap.rs constant WEBSOCKET_URL (line 23) | const WEBSOCKET_URL: &str = "wss://fapi.zb.com/ws/public/v1"; constant UPLINK_LIMIT (line 29) | const UPLINK_LIMIT: (NonZeroU32, std::time::Duration) = type ZbSwapWSClient (line 36) | pub struct ZbSwapWSClient { method new (line 42) | pub async fn new(tx: std::sync::mpsc::Sender, url: Option<&str... type ZbMessageHandler (line 76) | struct ZbMessageHandler {} type ZbCommandTranslator (line 77) | struct ZbCommandTranslator {} method to_candlestick_raw_channel (line 104) | fn to_candlestick_raw_channel(&self, symbol: &str, interval: usize) ->... method handle_message (line 80) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 97) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 121) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 143) | fn translate_to_candlestick_commands( function test_one_topic (line 167) | async fn test_one_topic() { function test_two_topic (line 180) | async fn test_two_topic() { function test_candlestick (line 202) | async fn test_candlestick() { FILE: crypto-ws-client/src/clients/zbg/mod.rs constant EXCHANGE_NAME (line 8) | const EXCHANGE_NAME: &str = "zbg"; FILE: crypto-ws-client/src/clients/zbg/utils.rs function http_get (line 6) | async fn http_get(url: &str) -> Result { function fetch_symbol_id_map_spot (line 24) | pub(super) async fn fetch_symbol_id_map_spot() -> HashMap { function fetch_symbol_contract_id_map_swap (line 60) | pub(super) async fn fetch_symbol_contract_id_map_swap() -> HashMap Self { method to_raw_channel (line 73) | fn to_raw_channel(&self, channel: &str, symbol: &str) -> String { method to_candlestick_raw_channel (line 85) | fn to_candlestick_raw_channel(&self, symbol: &str, interval: usize) ->... method handle_message (line 58) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 62) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 108) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 121) | fn translate_to_candlestick_commands( function test_one_topic (line 144) | async fn test_one_topic() { function test_two_topic (line 154) | async fn test_two_topic() { function test_candlestick (line 170) | async fn test_candlestick() { FILE: crypto-ws-client/src/clients/zbg/zbg_swap.rs constant WEBSOCKET_URL (line 21) | const WEBSOCKET_URL: &str = "wss://kline.zbg.com/exchange/v1/futurews"; type ZbgSwapWSClient (line 28) | pub struct ZbgSwapWSClient { type ZbgMessageHandler (line 55) | struct ZbgMessageHandler {} type ZbgCommandTranslator (line 56) | struct ZbgCommandTranslator { method new (line 79) | async fn new() -> Self { method to_raw_channel (line 84) | fn to_raw_channel(&self, channel: &str, symbol: &str) -> String { method to_candlestick_raw_channel (line 92) | fn to_candlestick_raw_channel(&self, pair: &str, interval: usize) -> S... method handle_message (line 61) | fn handle_message(&mut self, msg: &str) -> MiscMessage { method get_ping_msg_and_interval (line 73) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)> { method translate_to_commands (line 111) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, Stri... method translate_to_candlestick_commands (line 124) | fn translate_to_candlestick_commands( function test_one_topic (line 147) | async fn test_one_topic() { function test_two_topic (line 157) | async fn test_two_topic() { function test_candlestick (line 173) | async fn test_candlestick() { FILE: crypto-ws-client/src/common/command_translator.rs type CommandTranslator (line 7) | pub(crate) trait CommandTranslator { method translate_to_commands (line 8) | fn translate_to_commands(&self, subscribe: bool, topics: &[(String, St... method translate_to_candlestick_commands (line 9) | fn translate_to_candlestick_commands( FILE: crypto-ws-client/src/common/connect_async.rs function connect_async (line 24) | pub async fn connect_async( function connect_async_internal (line 59) | async fn connect_async_internal MiscMessage; method get_ping_msg_and_interval (line 21) | fn get_ping_msg_and_interval(&self) -> Option<(Message, u64)>; FILE: crypto-ws-client/src/common/utils.rs function ensure_frame_size (line 3) | pub(crate) fn ensure_frame_size( function topic_to_raw_channel (line 40) | pub(crate) fn topic_to_raw_channel(topic: &(String, String)) -> String { FILE: crypto-ws-client/src/common/ws_client.rs type WSClient (line 5) | pub trait WSClient { method subscribe_trade (line 16) | async fn subscribe_trade(&self, symbols: &[String]); method subscribe_bbo (line 30) | async fn subscribe_bbo(&self, symbols: &[String]); method subscribe_orderbook (line 52) | async fn subscribe_orderbook(&self, symbols: &[String]); method subscribe_orderbook_topk (line 71) | async fn subscribe_orderbook_topk(&self, symbols: &[String]); method subscribe_l3_orderbook (line 80) | async fn subscribe_l3_orderbook(&self, symbols: &[String]); method subscribe_ticker (line 89) | async fn subscribe_ticker(&self, symbols: &[String]); method subscribe_candlestick (line 100) | async fn subscribe_candlestick(&self, symbol_interval_list: &[(String,... method subscribe (line 124) | async fn subscribe(&self, topics: &[(String, String)]); method unsubscribe (line 129) | async fn unsubscribe(&self, topics: &[(String, String)]); method send (line 134) | async fn send(&self, commands: &[String]); method run (line 137) | async fn run(&self); method close (line 140) | async fn close(&self); FILE: crypto-ws-client/src/common/ws_client_internal.rs type WSClientInternal (line 20) | pub(crate) struct WSClientInternal { function connect (line 36) | pub async fn connect( function send (line 82) | pub async fn send(&self, commands: &[String]) { function run (line 91) | pub async fn run(&self) { function close (line 217) | pub async fn close(&self) { FILE: crypto-ws-client/tests/binance.rs function subscribe (line 9) | async fn subscribe() { function subscribe_all_bbo (line 22) | async fn subscribe_all_bbo() { function subscribe_raw_json (line 31) | async fn subscribe_raw_json() { function subscribe_trade (line 41) | async fn subscribe_trade() { function subscribe_ticker (line 50) | async fn subscribe_ticker() { function subscribe_tickers_all (line 59) | async fn subscribe_tickers_all() { function subscribe_bbo (line 68) | async fn subscribe_bbo() { function subscribe_orderbook (line 77) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 86) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 95) | async fn subscribe_candlestick() { function subscribe (line 112) | async fn subscribe() { function subscribe_all_bbo (line 125) | async fn subscribe_all_bbo() { function subscribe_trade (line 134) | async fn subscribe_trade() { function subscribe_ticker (line 147) | async fn subscribe_ticker() { function subscribe_tickers_all (line 160) | async fn subscribe_tickers_all() { function subscribe_bbo (line 169) | async fn subscribe_bbo() { function subscribe_orderbook (line 182) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 195) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 208) | async fn subscribe_candlestick() { function subscribe (line 233) | async fn subscribe() { function subscribe_all_bbo (line 245) | async fn subscribe_all_bbo() { function subscribe_trade (line 254) | async fn subscribe_trade() { function subscribe_ticker (line 263) | async fn subscribe_ticker() { function subscribe_tickers_all (line 272) | async fn subscribe_tickers_all() { function subscribe_bbo (line 281) | async fn subscribe_bbo() { function subscribe_orderbook (line 290) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 299) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 308) | async fn subscribe_candlestick() { function subscribe (line 325) | async fn subscribe() { function subscribe_all_bbo (line 334) | async fn subscribe_all_bbo() { function subscribe_trade (line 343) | async fn subscribe_trade() { function subscribe_ticker (line 352) | async fn subscribe_ticker() { function subscribe_tickers_all (line 361) | async fn subscribe_tickers_all() { function subscribe_bbo (line 370) | async fn subscribe_bbo() { function subscribe_orderbook (line 379) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 388) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 397) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 409) | async fn subscribe_funding_rate() { function subscribe_funding_rate_all (line 418) | async fn subscribe_funding_rate_all() { function subscribe (line 432) | async fn subscribe() { function subscribe_all_bbo (line 441) | async fn subscribe_all_bbo() { function subscribe_trade (line 450) | async fn subscribe_trade() { function subscribe_ticker (line 459) | async fn subscribe_ticker() { function subscribe_tickers_all (line 468) | async fn subscribe_tickers_all() { function subscribe_bbo (line 477) | async fn subscribe_bbo() { function subscribe_orderbook (line 486) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 495) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 504) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 516) | async fn subscribe_funding_rate() { function subscribe_funding_rate_all (line 525) | async fn subscribe_funding_rate_all() { FILE: crypto-ws-client/tests/binance_option.rs function subscribe (line 8) | async fn subscribe() { function subscribe_trade (line 22) | async fn subscribe_trade() { function subscribe_ticker (line 32) | async fn subscribe_ticker() { function subscribe_ticker_all (line 42) | async fn subscribe_ticker_all() { function subscribe_orderbook (line 52) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 62) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 72) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/bitfinex.rs function subscribe (line 9) | async fn subscribe() { function subscribe_illegal_symbol (line 22) | fn subscribe_illegal_symbol() { function subscribe_trade (line 31) | async fn subscribe_trade() { function subscribe_ticker (line 40) | async fn subscribe_ticker() { function subscribe_orderbook (line 45) | async fn subscribe_orderbook() { function subscribe_l3_orderbook (line 50) | async fn subscribe_l3_orderbook() { function subscribe_candlestick (line 55) | async fn subscribe_candlestick() { function subscribe (line 66) | async fn subscribe() { function subscribe_trade (line 75) | async fn subscribe_trade() { function subscribe_ticker (line 84) | async fn subscribe_ticker() { function subscribe_orderbook (line 89) | async fn subscribe_orderbook() { function subscribe_l3_orderbook (line 94) | async fn subscribe_l3_orderbook() { function subscribe_candlestick (line 103) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/bitget.rs function subscribe_trade (line 9) | async fn subscribe_trade() { function subscribe_orderbook_topk (line 14) | async fn subscribe_orderbook_topk() { function subscribe_orderbook (line 19) | async fn subscribe_orderbook() { function subscribe_ticker (line 24) | async fn subscribe_ticker() { function subscribe_candlestick (line 29) | async fn subscribe_candlestick() { function subscribe (line 40) | async fn subscribe() { function subscribe_raw_json (line 49) | async fn subscribe_raw_json() { function subscribe_trade (line 58) | async fn subscribe_trade() { function subscribe_orderbook_topk (line 63) | async fn subscribe_orderbook_topk() { function subscribe_orderbook (line 68) | async fn subscribe_orderbook() { function subscribe_ticker (line 73) | async fn subscribe_ticker() { function subscribe_candlestick (line 78) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 85) | async fn subscribe_funding_rate() { function subscribe_trade (line 99) | async fn subscribe_trade() { function subscribe_orderbook_topk (line 104) | async fn subscribe_orderbook_topk() { function subscribe_orderbook (line 109) | async fn subscribe_orderbook() { function subscribe_ticker (line 114) | async fn subscribe_ticker() { function subscribe_candlestick (line 119) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 126) | async fn subscribe_funding_rate() { FILE: crypto-ws-client/tests/bithumb.rs function subscribe (line 8) | async fn subscribe() { function subscribe_illegal_symbol (line 21) | fn subscribe_illegal_symbol() { function subscribe_raw_json (line 26) | async fn subscribe_raw_json() { function subscribe_trade (line 35) | async fn subscribe_trade() { function subscribe_orderbook (line 44) | async fn subscribe_orderbook() { function subscribe_ticker (line 54) | async fn subscribe_ticker() { FILE: crypto-ws-client/tests/bitmex.rs function bitmex_instrument (line 7) | async fn bitmex_instrument() { function subscribe (line 20) | async fn subscribe() { function subscribe_raw_json (line 32) | async fn subscribe_raw_json() { function subscribe_trade (line 41) | async fn subscribe_trade() { function subscribe_bbo (line 46) | async fn subscribe_bbo() { function subscribe_orderbook (line 51) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 56) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 61) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 68) | fn subscribe_funding_rate() { function subscribe_funding_rate_all (line 73) | async fn subscribe_funding_rate_all() { function subscribe_instrument (line 82) | async fn subscribe_instrument() { function subscribe (line 96) | async fn subscribe() { function subscribe_trade (line 108) | async fn subscribe_trade() { function subscribe_bbo (line 117) | async fn subscribe_bbo() { function subscribe_orderbook (line 126) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 135) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 144) | async fn subscribe_candlestick() { function subscribe_trade (line 161) | async fn subscribe_trade() { function subscribe_bbo (line 166) | async fn subscribe_bbo() { function subscribe_orderbook (line 171) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 176) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 181) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 188) | fn subscribe_funding_rate() { function subscribe_trade (line 198) | async fn subscribe_trade() { function subscribe_bbo (line 207) | async fn subscribe_bbo() { function subscribe_orderbook (line 212) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 217) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 222) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/bitstamp.rs function subscribe (line 7) | async fn subscribe() { function subscribe_raw_json (line 19) | async fn subscribe_raw_json() { function subscribe_trade (line 31) | async fn subscribe_trade() { function subscribe_orderbook (line 40) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 49) | async fn subscribe_orderbook_topk() { function subscribe_l3_orderbook (line 58) | async fn subscribe_l3_orderbook() { FILE: crypto-ws-client/tests/bitz.rs function subscribe (line 11) | async fn subscribe() { function subscribe_raw_json (line 25) | async fn subscribe_raw_json() { function subscribe_trade (line 38) | async fn subscribe_trade() { function subscribe_orderbook (line 44) | async fn subscribe_orderbook() { function subscribe_ticker (line 50) | async fn subscribe_ticker() { function subscribe_candlestick (line 56) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/bybit.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 18) | async fn subscribe_raw_json() { function subscribe_trade (line 27) | async fn subscribe_trade() { function subscribe_orderbook (line 32) | async fn subscribe_orderbook() { function subscribe_ticker (line 37) | async fn subscribe_ticker() { function subscribe_candlestick (line 42) | async fn subscribe_candlestick() { function subscribe (line 56) | async fn subscribe() { function subscribe_raw_json (line 65) | async fn subscribe_raw_json() { function subscribe_trade (line 74) | async fn subscribe_trade() { function subscribe_orderbook (line 79) | async fn subscribe_orderbook() { function subscribe_ticker (line 84) | async fn subscribe_ticker() { function subscribe_candlestick (line 89) | async fn subscribe_candlestick() { function subscribe_trade (line 100) | async fn subscribe_trade() { function subscribe_orderbook (line 105) | async fn subscribe_orderbook() { function subscribe_ticker (line 110) | async fn subscribe_ticker() { function subscribe_candlestick (line 115) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/coinbase_pro.rs function subscribe (line 7) | async fn subscribe() { function subscribe_illegal_symbol (line 20) | async fn subscribe_illegal_symbol() { function subscribe_raw_json (line 29) | async fn subscribe_raw_json() { function subscribe_trade (line 55) | async fn subscribe_trade() { function subscribe_ticker (line 64) | async fn subscribe_ticker() { function subscribe_orderbook (line 73) | async fn subscribe_orderbook() { function subscribe_l3_orderbook (line 78) | async fn subscribe_l3_orderbook() { FILE: crypto-ws-client/tests/deribit.rs function deribit_all_trades (line 7) | async fn deribit_all_trades() { function subscribe (line 25) | async fn subscribe() { function subscribe_trade (line 35) | async fn subscribe_trade() { function subscribe_ticker (line 44) | async fn subscribe_ticker() { function subscribe_orderbook (line 49) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 54) | async fn subscribe_orderbook_topk() { function subscribe_bbo (line 59) | async fn subscribe_bbo() { function subscribe_candlestick (line 64) | async fn subscribe_candlestick() { function subscribe (line 75) | async fn subscribe() { function subscribe_trade (line 84) | async fn subscribe_trade() { function subscribe_ticker (line 89) | async fn subscribe_ticker() { function subscribe_orderbook (line 94) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 99) | async fn subscribe_orderbook_topk() { function subscribe_bbo (line 104) | async fn subscribe_bbo() { function subscribe_candlestick (line 109) | async fn subscribe_candlestick() { constant SYMBOLS (line 119) | const SYMBOLS: &[&str] = &[ function subscribe (line 128) | async fn subscribe() { function subscribe_trade (line 138) | async fn subscribe_trade() { function subscribe_ticker (line 147) | async fn subscribe_ticker() { function subscribe_orderbook (line 157) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 167) | async fn subscribe_orderbook_topk() { function subscribe_bbo (line 176) | async fn subscribe_bbo() { function subscribe_candlestick (line 185) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/dydx.rs function subscribe (line 9) | async fn subscribe() { function subscribe_trade (line 21) | async fn subscribe_trade() { function subscribe_orderbook (line 30) | async fn subscribe_orderbook() { FILE: crypto-ws-client/tests/ftx.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 14) | async fn subscribe_raw_json() { function subscribe_trade (line 23) | async fn subscribe_trade() { function subscribe_bbo (line 28) | async fn subscribe_bbo() { function subscribe_orderbook (line 33) | async fn subscribe_orderbook() { function subscribe_trade (line 43) | async fn subscribe_trade() { function subscribe_bbo (line 48) | async fn subscribe_bbo() { function subscribe_orderbook (line 53) | async fn subscribe_orderbook() { function subscribe_trade (line 67) | async fn subscribe_trade() { function subscribe_bbo (line 76) | async fn subscribe_bbo() { function subscribe_orderbook (line 85) | async fn subscribe_orderbook() { function subscribe_trade (line 96) | fn subscribe_trade() { function subscribe_bbo (line 101) | async fn subscribe_bbo() { function subscribe_orderbook (line 106) | async fn subscribe_orderbook() { function subscribe_trade (line 117) | fn subscribe_trade() { function subscribe_bbo (line 122) | async fn subscribe_bbo() { function subscribe_orderbook (line 127) | async fn subscribe_orderbook() { FILE: crypto-ws-client/tests/gate.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 21) | async fn subscribe_raw_json() { function subscribe_trade (line 30) | async fn subscribe_trade() { function subscribe_orderbook (line 35) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 40) | async fn subscribe_orderbook_topk() { function subscribe_bbo (line 45) | async fn subscribe_bbo() { function subscribe_ticker (line 50) | async fn subscribe_ticker() { function subscribe_candlestick (line 56) | async fn subscribe_candlestick() { function subscribe (line 68) | async fn subscribe() { function subscribe_raw_json (line 83) | async fn subscribe_raw_json() { function subscribe_trade (line 94) | async fn subscribe_trade() { function subscribe_orderbook (line 103) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 108) | async fn subscribe_orderbook_topk() { function subscribe_bbo (line 113) | async fn subscribe_bbo() { function subscribe_ticker (line 118) | async fn subscribe_ticker() { function subscribe_candlestick (line 124) | async fn subscribe_candlestick() { function subscribe_trade (line 138) | async fn subscribe_trade() { function subscribe_orderbook (line 143) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 148) | async fn subscribe_orderbook_topk() { function subscribe_bbo (line 153) | async fn subscribe_bbo() { function subscribe_ticker (line 158) | async fn subscribe_ticker() { function subscribe_candlestick (line 164) | async fn subscribe_candlestick() { function subscribe_trade (line 179) | fn subscribe_trade() { function subscribe_orderbook (line 188) | async fn subscribe_orderbook() { function subscribe_ticker (line 198) | async fn subscribe_ticker() { function subscribe_candlestick (line 208) | async fn subscribe_candlestick() { function subscribe_trade (line 226) | fn subscribe_trade() { function subscribe_orderbook (line 236) | fn subscribe_orderbook() { function subscribe_ticker (line 245) | async fn subscribe_ticker() { function subscribe_candlestick (line 255) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/huobi.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 18) | async fn subscribe_raw_json() { function subscribe_trade (line 27) | async fn subscribe_trade() { function subscribe_ticker (line 32) | async fn subscribe_ticker() { function subscribe_bbo (line 37) | async fn subscribe_bbo() { function subscribe_orderbook (line 42) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 56) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 61) | async fn subscribe_candlestick() { function subscribe (line 72) | async fn subscribe() { function subscribe_trade (line 81) | async fn subscribe_trade() { function subscribe_ticker (line 86) | async fn subscribe_ticker() { function subscribe_bbo (line 91) | async fn subscribe_bbo() { function subscribe_orderbook (line 96) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 101) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 106) | async fn subscribe_candlestick() { function subscribe (line 117) | async fn subscribe() { function subscribe_trade (line 126) | async fn subscribe_trade() { function subscribe_ticker (line 131) | async fn subscribe_ticker() { function subscribe_bbo (line 136) | async fn subscribe_bbo() { function subscribe_orderbook (line 141) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 146) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 155) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 164) | async fn subscribe_funding_rate() { function subscribe_funding_rate_all (line 184) | async fn subscribe_funding_rate_all() { function subscribe (line 207) | async fn subscribe() { function subscribe_trade (line 216) | async fn subscribe_trade() { function subscribe_ticker (line 221) | async fn subscribe_ticker() { function subscribe_bbo (line 226) | async fn subscribe_bbo() { function subscribe_orderbook (line 231) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 236) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 245) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 254) | async fn subscribe_funding_rate() { function subscribe_funding_rate_all (line 272) | async fn subscribe_funding_rate_all() { function subscribe_overview (line 288) | async fn subscribe_overview() { function subscribe (line 303) | fn subscribe() { function subscribe_trade (line 313) | fn subscribe_trade() { function subscribe_ticker (line 323) | fn subscribe_ticker() { function subscribe_bbo (line 333) | fn subscribe_bbo() { function subscribe_orderbook (line 343) | fn subscribe_orderbook() { function subscribe_orderbook_topk (line 353) | fn subscribe_orderbook_topk() { function subscribe_candlestick (line 363) | fn subscribe_candlestick() { function subscribe_overview (line 376) | fn subscribe_overview() { FILE: crypto-ws-client/tests/kraken.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 23) | async fn subscribe_raw_json() { function subscribe_trade (line 33) | async fn subscribe_trade() { function subscribe_ticker (line 42) | async fn subscribe_ticker() { function subscribe_bbo (line 51) | async fn subscribe_bbo() { function subscribe_orderbook (line 60) | async fn subscribe_orderbook() { function subscribe_candlestick (line 69) | async fn subscribe_candlestick() { function subscribe_raw_json (line 87) | async fn subscribe_raw_json() { function subscribe_trade (line 96) | async fn subscribe_trade() { function subscribe_ticker (line 101) | async fn subscribe_ticker() { function subscribe_orderbook (line 106) | async fn subscribe_orderbook() { function subscribe_raw_json (line 116) | async fn subscribe_raw_json() { function subscribe_trade (line 126) | async fn subscribe_trade() { function subscribe_ticker (line 131) | async fn subscribe_ticker() { function subscribe_orderbook (line 136) | async fn subscribe_orderbook() { FILE: crypto-ws-client/tests/kucoin.rs function subscribe (line 9) | async fn subscribe() { function subscribe_all_bbo (line 18) | async fn subscribe_all_bbo() { function subscribe_raw_json (line 27) | async fn subscribe_raw_json() { function subscribe_trade (line 36) | async fn subscribe_trade() { function subscribe_bbo (line 45) | async fn subscribe_bbo() { function subscribe_orderbook (line 50) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 55) | async fn subscribe_orderbook_topk() { function subscribe_ticker (line 60) | async fn subscribe_ticker() { function subscribe_candlestick (line 65) | async fn subscribe_candlestick() { function subscribe (line 78) | async fn subscribe() { function subscribe_raw_json (line 92) | async fn subscribe_raw_json() { function subscribe_trade (line 101) | async fn subscribe_trade() { function subscribe_bbo (line 115) | async fn subscribe_bbo() { function subscribe_orderbook (line 120) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 125) | async fn subscribe_orderbook_topk() { function subscribe_ticker (line 130) | async fn subscribe_ticker() { function subscribe_candlestick (line 136) | async fn subscribe_candlestick() { function subscribe (line 154) | async fn subscribe() { function subscribe_raw_json (line 163) | async fn subscribe_raw_json() { function subscribe_trade (line 172) | async fn subscribe_trade() { function subscribe_bbo (line 177) | async fn subscribe_bbo() { function subscribe_orderbook (line 182) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 187) | async fn subscribe_orderbook_topk() { function subscribe_ticker (line 192) | async fn subscribe_ticker() { function subscribe_candlestick (line 198) | async fn subscribe_candlestick() { function subscribe (line 217) | async fn subscribe() { function subscribe_raw_json (line 227) | async fn subscribe_raw_json() { function subscribe_trade (line 237) | async fn subscribe_trade() { function subscribe_bbo (line 243) | async fn subscribe_bbo() { function subscribe_orderbook (line 248) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 253) | async fn subscribe_orderbook_topk() { function subscribe_ticker (line 258) | async fn subscribe_ticker() { function subscribe_candlestick (line 264) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/mexc.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 22) | async fn subscribe_raw_json() { function subscribe_trade (line 35) | async fn subscribe_trade() { function subscribe_orderbook (line 44) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 53) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 58) | async fn subscribe_candlestick() { function subscribe_overview (line 78) | async fn subscribe_overview() { function subscribe (line 88) | async fn subscribe() { function subscribe_raw_json (line 100) | async fn subscribe_raw_json() { function subscribe_trade (line 109) | async fn subscribe_trade() { function subscribe_ticker (line 114) | async fn subscribe_ticker() { function subscribe_orderbook (line 119) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 124) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 129) | async fn subscribe_candlestick() { function subscribe_trade (line 140) | async fn subscribe_trade() { function subscribe_ticker (line 145) | async fn subscribe_ticker() { function subscribe_orderbook (line 150) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 155) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 160) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/okx.rs function okex_index (line 7) | async fn okex_index() { function subscribe (line 20) | async fn subscribe() { function subscribe_raw_json (line 25) | async fn subscribe_raw_json() { function subscribe_trade (line 35) | async fn subscribe_trade() { function subscribe_ticker (line 40) | async fn subscribe_ticker() { function subscribe_bbo (line 45) | async fn subscribe_bbo() { function subscribe_orderbook (line 50) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 55) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 60) | async fn subscribe_candlestick() { function subscribe (line 71) | async fn subscribe() { function subscribe_trade (line 80) | async fn subscribe_trade() { function subscribe_ticker (line 85) | async fn subscribe_ticker() { function subscribe_bbo (line 90) | async fn subscribe_bbo() { function subscribe_orderbook (line 95) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 100) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 105) | async fn subscribe_candlestick() { function subscribe (line 116) | async fn subscribe() { function subscribe_trade (line 125) | async fn subscribe_trade() { function subscribe_ticker (line 130) | async fn subscribe_ticker() { function subscribe_bbo (line 135) | async fn subscribe_bbo() { function subscribe_orderbook (line 140) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 145) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 150) | async fn subscribe_candlestick() { function subscribe_funding_rate (line 156) | async fn subscribe_funding_rate() { function subscribe_trade (line 171) | async fn subscribe_trade() { function subscribe_ticker (line 176) | async fn subscribe_ticker() { function subscribe_bbo (line 181) | async fn subscribe_bbo() { function subscribe_orderbook (line 186) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 191) | async fn subscribe_orderbook_topk() { function subscribe_candlestick (line 201) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/zb.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 18) | async fn subscribe_raw_json() { function subscribe_trade (line 27) | async fn subscribe_trade() { function subscribe_orderbook_topk (line 32) | async fn subscribe_orderbook_topk() { function subscribe_ticker (line 37) | async fn subscribe_ticker() { function subscribe_candlestick (line 42) | async fn subscribe_candlestick() { function subscribe (line 53) | async fn subscribe() { function subscribe_raw_json (line 65) | async fn subscribe_raw_json() { function subscribe_trade (line 77) | async fn subscribe_trade() { function subscribe_orderbook (line 86) | async fn subscribe_orderbook() { function subscribe_orderbook_topk (line 95) | async fn subscribe_orderbook_topk() { function subscribe_ticker (line 104) | async fn subscribe_ticker() { function subscribe_candlestick (line 113) | async fn subscribe_candlestick() { FILE: crypto-ws-client/tests/zbg.rs function subscribe (line 9) | async fn subscribe() { function subscribe_raw_json (line 18) | async fn subscribe_raw_json() { function subscribe_trade (line 27) | async fn subscribe_trade() { function subscribe_orderbook (line 32) | async fn subscribe_orderbook() { function subscribe_ticker (line 37) | async fn subscribe_ticker() { function subscribe_ticker_all (line 43) | async fn subscribe_ticker_all() { function subscribe_candlestick (line 52) | async fn subscribe_candlestick() { function subscribe (line 64) | fn subscribe() { function subscribe_raw_json (line 77) | fn subscribe_raw_json() { function subscribe_trade (line 90) | fn subscribe_trade() { function subscribe_orderbook (line 100) | fn subscribe_orderbook() { function subscribe_ticker (line 110) | async fn subscribe_ticker() { function subscribe_ticker_all (line 120) | async fn subscribe_ticker_all() { function subscribe_candlestick (line 130) | async fn subscribe_candlestick() { function subscribe (line 148) | fn subscribe() { function subscribe_raw_json (line 161) | fn subscribe_raw_json() { function subscribe_trade (line 174) | fn subscribe_trade() { function subscribe_orderbook (line 184) | fn subscribe_orderbook() { function subscribe_ticker (line 194) | async fn subscribe_ticker() { function subscribe_ticker_all (line 204) | async fn subscribe_ticker_all() { function subscribe_candlestick (line 214) | async fn subscribe_candlestick() {