pub mod acct_activity;
pub mod chart_equity;
pub mod chart_futures;
pub mod equities;
pub mod forex;
pub mod futures;
pub mod futures_options;
pub mod options;
pub mod screener_equity;
pub mod screener_option;
pub use acct_activity::{AccountActivity, AccountActivityField};
pub use chart_equity::{ChartEquity, ChartEquityField};
pub use chart_futures::{ChartFutures, ChartFuturesField};
pub use equities::{EquityField, LevelOneEquity};
pub use forex::{ForexField, LevelOneForex};
pub use futures::{FuturesField, LevelOneFutures};
pub use futures_options::{FuturesOptionField, LevelOneFuturesOption};
pub use options::{LevelOneOption, OptionField};
pub use screener_equity::{ScreenerEquity, ScreenerEquityField, ScreenerItem};
pub use screener_option::{ScreenerOption, ScreenerOptionField};
#[non_exhaustive]
#[derive(Clone, Debug)]
#[allow(missing_docs)]
pub enum StreamEvent {
Data(StreamData),
Response(StreamResponse),
Heartbeat(i64),
Disconnected { error: Option<String> },
Reconnecting { attempt: u32 },
Reconnected,
}
#[non_exhaustive]
#[derive(Clone, Debug, PartialEq)]
#[allow(missing_docs)]
pub enum StreamData {
AccountActivity(Vec<AccountActivity>),
LevelOneEquities(Vec<LevelOneEquity>),
LevelOneOptions(Vec<LevelOneOption>),
LevelOneFutures(Vec<LevelOneFutures>),
LevelOneFuturesOptions(Vec<LevelOneFuturesOption>),
LevelOneForex(Vec<LevelOneForex>),
ChartEquities(Vec<ChartEquity>),
ChartFutures(Vec<ChartFutures>),
ScreenerEquities(Vec<ScreenerEquity>),
ScreenerOptions(Vec<ScreenerOption>),
}
#[derive(Clone, Debug, PartialEq)]
#[allow(missing_docs)]
pub struct StreamResponse {
pub service: Option<String>,
pub command: Option<String>,
pub request_id: Option<String>,
pub code: Option<u32>,
pub message: Option<String>,
}