AdapterRouter
Default implementation of IAdapterRouter.
Implements: IAdapterRouter
Constructors
AdapterRouter(IOrderRoutingState, Func<IMessageAdapter, IMessageAdapter>, CandleBuilderProvider, Func<bool>)
Initializes a new instance of AdapterRouter.
- orderRouting
- Order routing state.
- getUnderlyingAdapter
- Function to unwrap adapter to underlying.
- candleBuilderProvider
- Candle builder provider for subscription filtering.
- levelExtend
- Function returning Level1Extend setting.
Methods
AddMessageTypeAdapter(MessageTypes, IMessageAdapter)
Add adapter for specified message type.
AddNotSupported(long, IMessageAdapter)
Add adapter to non-supported set for a transaction (for retry logic).
AddOrderAdapter(long, IMessageAdapter)
Add order transaction to adapter mapping.
AddPortfolioAdapter(string, IMessageAdapter)
Add portfolio adapter mapping directly. Used during Load.
AddSecurityAdapter(ValueTuple<SecurityId, DataType>, IMessageAdapter)
Add security adapter mapping directly. Used during Load.
Clear()
Clears all adapter states and resets current state to Disconnected.
ClearPortfolioAdapters()
Clear portfolio adapters cache. Used during Load.
ClearSecurityAdapters()
Clear security adapters cache. Used during Load.
GetAdapters(Message, Func<IMessageAdapter, IMessageAdapter>) : ValueTuple<IMessageAdapter[], bool>
Get adapters for a message based on message type, security, and filtering.
- message
- Message to route.
- getWrapper
- Function to resolve wrapper adapter from underlying adapter.
Returns: Matched adapters array and whether supported-message filtering was skipped.
GetPortfolioAdapter(string, Func<IMessageAdapter, IMessageAdapter>) : IMessageAdapter
Get adapter for portfolio-based routing.
- portfolioName
- Portfolio name.
- getWrapper
- Function to resolve wrapper adapter from underlying adapter.
Returns: Found adapter or null.
GetSubscriptionAdaptersAsync(MarketDataMessage, IMessageAdapter[], bool, CancellationToken) : ValueTask<IMessageAdapter[]>
Get adapters for market data subscription with additional filtering (candles, build mode, etc.).
- mdMsg
- Market data message.
- adapters
- Pre-filtered adapters from IMessageAdapter}).
- skipSupportedMessages
- Whether supported-message filtering was skipped.
- cancellationToken
- CancellationToken
Returns: Filtered adapters.
RemoveMessageTypeAdapter(MessageTypes, IMessageAdapter)
Remove adapter for specified message type.
RemovePortfolioAdapter(string)
Remove adapter for portfolio.
RemoveSecurityAdapter(SecurityId, DataType)
Remove adapter for specific security and data type.
SetPortfolioAdapter(string, IMessageAdapter)
Set adapter for portfolio.
SetSecurityAdapter(SecurityId, DataType, IMessageAdapter)
Set adapter for specific security and data type.
TryGetOrderAdapter(long, IMessageAdapter) : bool
Try get adapter for order by transaction id.