IAdapterRouter
Interface for routing messages to appropriate adapters.
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 adapter for portfolio.
AddSecurityAdapter(ValueTuple<SecurityId, DataType>, IMessageAdapter)
Add adapter for security with key.
Clear()
Clear all routing state (message type adapters, non-supported adapters, security/portfolio caches).
ClearPortfolioAdapters()
Clear all portfolio adapter mappings.
ClearSecurityAdapters()
Clear all security adapter mappings.
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.