IAdapterRouter
Interface for routing messages to appropriate adapters.
Methods
public void AddMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
iAdapterRouter.AddMessageTypeAdapter(type, adapter)
Add adapter for specified message type.
public void AddNotSupported(long transactionId, IMessageAdapter adapter)
iAdapterRouter.AddNotSupported(transactionId, adapter)
Add adapter to non-supported set for a transaction (for retry logic).
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
iAdapterRouter.AddOrderAdapter(transactionId, adapter)
Add order transaction to adapter mapping.
public void AddPortfolioAdapter(string portfolio, IMessageAdapter adapter)
iAdapterRouter.AddPortfolioAdapter(portfolio, adapter)
Add adapter for portfolio.
public void AddSecurityAdapter(ValueTuple<SecurityId, DataType> key, IMessageAdapter adapter)
iAdapterRouter.AddSecurityAdapter(key, adapter)
Add adapter for security with key.
public void Clear()
iAdapterRouter.Clear()
Clear all routing state (message type adapters, non-supported adapters, security/portfolio caches).
public void ClearPortfolioAdapters()
iAdapterRouter.ClearPortfolioAdapters()
Clear all portfolio adapter mappings.
public void ClearSecurityAdapters()
iAdapterRouter.ClearSecurityAdapters()
Clear all security adapter mappings.
public ValueTuple<IMessageAdapter[], bool> GetAdapters(Message message, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = iAdapterRouter.GetAdapters(message, getWrapper)
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.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = iAdapterRouter.GetPortfolioAdapter(portfolioName, getWrapper)
Get adapter for portfolio-based routing.
- portfolioName
- Portfolio name.
- getWrapper
- Function to resolve wrapper adapter from underlying adapter.
Returns: Found adapter or null.
public ValueTask<IMessageAdapter[]> GetSubscriptionAdaptersAsync(MarketDataMessage mdMsg, IMessageAdapter[] adapters, bool skipSupportedMessages, CancellationToken cancellationToken)
result = iAdapterRouter.GetSubscriptionAdaptersAsync(mdMsg, adapters, skipSupportedMessages, cancellationToken)
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.
public void RemoveMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
iAdapterRouter.RemoveMessageTypeAdapter(type, adapter)
Remove adapter for specified message type.
public void RemovePortfolioAdapter(string portfolio)
iAdapterRouter.RemovePortfolioAdapter(portfolio)
Remove adapter for portfolio.
public void RemoveSecurityAdapter(SecurityId secId, DataType dataType)
iAdapterRouter.RemoveSecurityAdapter(secId, dataType)
Remove adapter for specific security and data type.
public void SetPortfolioAdapter(string portfolio, IMessageAdapter adapter)
iAdapterRouter.SetPortfolioAdapter(portfolio, adapter)
Set adapter for portfolio.
public void SetSecurityAdapter(SecurityId secId, DataType dataType, IMessageAdapter adapter)
iAdapterRouter.SetSecurityAdapter(secId, dataType, adapter)
Set adapter for specific security and data type.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = iAdapterRouter.TryGetOrderAdapter(transactionId, adapter)
Try get adapter for order by transaction id.