1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//! # Connector Manager
//!
//! Unified interface for all 51+ exchange connectors.
//!
//! ## Architecture
//!
//! Connectors are dispatched through `Arc<dyn CoreConnector>` — a trait object
//! that composes all core sub-traits (ExchangeIdentity, MarketData, MarketDataPublic,
//! Trading, Account, Positions, etc.) with Send + Sync + 'static bounds.
//!
//! ## Components
//!
//! - `ConnectorPool` - Lock-free pool of `Arc<dyn CoreConnector>` by exchange
//! - `ConnectorFactory` - Constructs and wraps connectors from config
//! - `ConnectorAggregator` - Fan-out aggregation across multiple connectors
//! - `ConnectorRegistry` - Static metadata (supported features, categories)
//! - `ConnectorConfig` - Credentials and config management
//!
//! ## Usage
//!
//! ```ignore
//! use connectors_v5::connector_manager::{ConnectorFactory, CoreConnector};
//! use std::sync::Arc;
//!
//! // Build a connector through the factory
//! let connector: Arc<dyn CoreConnector> = factory.create_connector(exchange_id, credentials).await?;
//!
//! // Use core trait methods
//! let price = connector.get_price(symbol, AccountType::Spot).await?;
//! let balance = connector.get_balance(query).await?;
//!
//! // Get connector metadata
//! let id = connector.id();
//! let name = connector.exchange_name();
//! ```
pub use ExchangeHub;
pub use crateCoreConnector;
// High-level feed API — fan-out of WebSocketConnector::event_stream over
// per-subscription broadcast channels. Exchanges still live in the hub;
// the feed only wraps subscribe/event-loop boilerplate.
pub use ;
// Registry metadata types — public for consumers who want to inspect connector capabilities.
// ExchangeHub is the sole entry point for operations; these are read-only metadata.
pub use ;
// Internal re-exports — available within the crate only
pub use ConnectorRegistry;
pub use ConnectorPool;
pub use WebSocketPool;
pub use ConnectorFactory;