AdapterRouter
Реализация IAdapterRouter по умолчанию.
Реализует: IAdapterRouter
Конструкторы
public AdapterRouter(IOrderRoutingState orderRouting, Func<IMessageAdapter, IMessageAdapter> getUnderlyingAdapter, CandleBuilderProvider candleBuilderProvider, Func<bool> levelExtend)
adapterRouter = AdapterRouter(orderRouting, getUnderlyingAdapter, candleBuilderProvider, levelExtend)
Инициализирует новый экземпляр AdapterRouter.
- orderRouting
- Состояние маршрутизации заказа.
- getUnderlyingAdapter
- Функция для развертывания адаптера в базовый.
- candleBuilderProvider
- Поставщик конструктора свечей для фильтрации подписок.
- levelExtend
- Функция, возвращающая настройку Level1Extend.
Методы
public void AddMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.AddMessageTypeAdapter(type, adapter)
Добавить адаптер для указанного типа сообщения.
public void AddNotSupported(long transactionId, IMessageAdapter adapter)
adapterRouter.AddNotSupported(transactionId, adapter)
Добавьте адаптер в неподдерживаемый набор для транзакции (для логики повтора).
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
adapterRouter.AddOrderAdapter(transactionId, adapter)
Добавьте транзакцию заказа в сопоставление адаптера.
public void AddPortfolioAdapter(string key, IMessageAdapter adapter)
adapterRouter.AddPortfolioAdapter(key, adapter)
Добавьте сопоставление адаптеров портфолио напрямую. Используется во время загрузки.
public void AddSecurityAdapter(ValueTuple<SecurityId, DataType> key, IMessageAdapter adapter)
adapterRouter.AddSecurityAdapter(key, adapter)
Добавьте сопоставление адаптера финансовых инструментов напрямую. Используется во время загрузки.
public void Clear()
adapterRouter.Clear()
Очищает все состояния адаптера и сбрасывает текущее состояние на «Отключено».
public void ClearPortfolioAdapters()
adapterRouter.ClearPortfolioAdapters()
Очистите кэш адаптеров портфолио. Используется во время загрузки.
public void ClearSecurityAdapters()
adapterRouter.ClearSecurityAdapters()
Очистите кэш адаптеров финансовых инструментов. Используется во время загрузки.
public ValueTuple<IMessageAdapter[], bool> GetAdapters(Message message, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetAdapters(message, getWrapper)
Получите адаптеры для сообщения на основе типа сообщения, финансового инструмента и фильтрации.
- message
- Сообщение для маршрутизации.
- getWrapper
- Функция для разрешения адаптера-оболочки из базового адаптера.
Возвращает: Соответствующий массив адаптеров и сведения о том, была ли пропущена фильтрация поддерживаемых сообщений.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetPortfolioAdapter(portfolioName, getWrapper)
Получите адаптер для маршрутизации на основе портфеля.
- portfolioName
- Название портфолио.
- getWrapper
- Функция для разрешения адаптера-оболочки из базового адаптера.
Возвращает: Найден адаптер или ноль.
public ValueTask<IMessageAdapter[]> GetSubscriptionAdaptersAsync(MarketDataMessage mdMsg, IMessageAdapter[] adapters, bool skipSupportedMessages, CancellationToken cancellationToken)
result = adapterRouter.GetSubscriptionAdaptersAsync(mdMsg, adapters, skipSupportedMessages, cancellationToken)
Получите адаптеры для подписки на рыночные данные с дополнительной фильтрацией (свечи, режим построения и т. д.).
- mdMsg
- Сообщение с рыночными данными.
- adapters
- Предварительно отфильтрованные адаптеры от IMessageAdapter}).
- skipSupportedMessages
- Была ли пропущена фильтрация поддерживаемых сообщений.
- cancellationToken
- CancellationToken
Возвращает: Фильтрованные адаптеры.
public void RemoveMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.RemoveMessageTypeAdapter(type, adapter)
Удалить адаптер для указанного типа сообщения.
public void RemovePortfolioAdapter(string portfolio)
adapterRouter.RemovePortfolioAdapter(portfolio)
Снимите адаптер для портфеля.
public void RemoveSecurityAdapter(SecurityId secId, DataType dataType)
adapterRouter.RemoveSecurityAdapter(secId, dataType)
Удалите адаптер для конкретного финансового инструмента и типа данных.
public void SetPortfolioAdapter(string portfolio, IMessageAdapter adapter)
adapterRouter.SetPortfolioAdapter(portfolio, adapter)
Установите адаптер для портфолио.
public void SetSecurityAdapter(SecurityId secId, DataType dataType, IMessageAdapter adapter)
adapterRouter.SetSecurityAdapter(secId, dataType, adapter)
Установите адаптер для конкретного финансового инструмента и типа данных.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = adapterRouter.TryGetOrderAdapter(transactionId, adapter)
Попробуйте получить адаптер для заказа по идентификатору транзакции.