BasketRoutingManager

StockSharp.Algo.Basket

Реализация IBasketRoutingManager по умолчанию. Управляет логикой маршрутизации сообщений для адаптера корзины.

Реализует: IBasketRoutingManager

Конструкторы

BasketRoutingManager
public BasketRoutingManager(IAdapterConnectionState connectionState, IAdapterConnectionManager connectionManager, IPendingMessageState pendingState, ISubscriptionRoutingState subscriptionRouting, IParentChildMap parentChildMap, IOrderRoutingState orderRouting, Func<IMessageAdapter, IMessageAdapter> getUnderlyingAdapter, CandleBuilderProvider candleBuilderProvider, Func<bool> levelExtend, IdGenerator transactionIdGenerator, ILogReceiver logReceiver, IAdapterRouter router)
basketRoutingManager = BasketRoutingManager(connectionState, connectionManager, pendingState, subscriptionRouting, parentChildMap, orderRouting, getUnderlyingAdapter, candleBuilderProvider, levelExtend, transactionIdGenerator, logReceiver, router)

Инициализирует новый экземпляр BasketRoutingManager.

Свойства

ConnectDisconnectEventOnFirstAdapter
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = basketRoutingManager.ConnectDisconnectEventOnFirstAdapter
basketRoutingManager.ConnectDisconnectEventOnFirstAdapter = value

Позвонить на мероприятие ConnectMessage, когда подключится первый адаптер. Если , то ждет подключения всех адаптеров.

ConnectedCount
public int ConnectedCount { get; }
value = basketRoutingManager.ConnectedCount

Получает количество подключенных адаптеров.

HasPendingAdapters
public bool HasPendingAdapters { get; }
value = basketRoutingManager.HasPendingAdapters

Все ли адаптеры подключены.

TransactionIdGenerator
public IdGenerator TransactionIdGenerator { get; set; }
value = basketRoutingManager.TransactionIdGenerator
basketRoutingManager.TransactionIdGenerator = value

Генератор идентификаторов транзакций, используемый для внутренней маршрутизации подписки на ребенка, должен быть синхронизирован с генератором родительского адаптера.

Методы

AddOrderAdapter
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
basketRoutingManager.AddOrderAdapter(transactionId, adapter)

Добавьте транзакцию заказа в сопоставление адаптера.

ApplyParentLookupId
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = basketRoutingManager.ApplyParentLookupId(msg)

Примените переназначение родительского идентификатора поиска к сообщению о подписке.

Возвращает: если действительный родительский элемент не найден и сообщение должно быть удалено.

BeginConnect
public void BeginConnect()
basketRoutingManager.BeginConnect()

Устанавливает состояние корзины на подключение.

BeginDisconnect
public void BeginDisconnect()
basketRoutingManager.BeginDisconnect()

Устанавливает состояние корзины на отключение.

CreateDefault
public static BasketRoutingManager CreateDefault(Func<IMessageAdapter, IMessageAdapter> getUnderlyingAdapter, CandleBuilderProvider candleBuilderProvider, Func<bool> levelExtend, IdGenerator transactionIdGenerator, ILogReceiver logReceiver)
result = BasketRoutingManager.CreateDefault(getUnderlyingAdapter, candleBuilderProvider, levelExtend, transactionIdGenerator, logReceiver)

Создает новый экземпляр BasketRoutingManager с компонентами состояния по умолчанию.

GetAdaptersToDisconnect
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = basketRoutingManager.GetAdaptersToDisconnect(adapterLookup)

Приобретите адаптеры, которые необходимо отключить.

adapterLookup
Функция для получения оболочки из базового адаптера.

Возвращает: Словарь оболочки базового адаптера.

GetPortfolioAdapter
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = basketRoutingManager.GetPortfolioAdapter(portfolioName, adapterLookup)

Получите адаптер для маршрутизации на основе портфеля.

Возвращает: Найден адаптер или ноль.

GetSubscribers
public long[] GetSubscribers(DataType dataType)
result = basketRoutingManager.GetSubscribers(dataType)

Получите идентификаторы подписчиков для типа данных.

InitializeAdapter
public void InitializeAdapter(IMessageAdapter adapter)
basketRoutingManager.InitializeAdapter(adapter)

Инициализирует состояние адаптера перед подключением.

LoadPortfolioAdapters
public void LoadPortfolioAdapters(IEnumerable<ValueTuple<string, IMessageAdapter>> mappings)
basketRoutingManager.LoadPortfolioAdapters(mappings)

Очистите и загрузите сопоставления адаптеров портфолио.

LoadSecurityAdapters
public void LoadSecurityAdapters(IEnumerable<ValueTuple<ValueTuple<SecurityId, DataType>, IMessageAdapter>> mappings)
basketRoutingManager.LoadSecurityAdapters(mappings)

Очистка и загрузка сопоставлений адаптеров финансовых инструментов.

OnAdapterRemoved
public void OnAdapterRemoved(IMessageAdapter adapter)
basketRoutingManager.OnAdapterRemoved(adapter)

Вызывается, когда адаптер удаляется из списка внутренних адаптеров.

OnAdaptersCleared
public void OnAdaptersCleared()
basketRoutingManager.OnAdaptersCleared()

Вызывается, когда все адаптеры удалены из списка внутренних адаптеров.

OnPortfolioAdapterProviderChanged
public void OnPortfolioAdapterProviderChanged(string portfolioName, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
basketRoutingManager.OnPortfolioAdapterProviderChanged(portfolioName, adapterId, isAdd, findAdapter)

Обработка смены поставщика адаптера портфолио.

OnSecurityAdapterProviderChanged
public void OnSecurityAdapterProviderChanged(ValueTuple<SecurityId, DataType> key, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
basketRoutingManager.OnSecurityAdapterProviderChanged(key, adapterId, isAdd, findAdapter)

Обработка смены поставщика адаптера финансовых инструментов.

ProcessBackMessage
public void ProcessBackMessage(IMessageAdapter adapter, ISubscriptionMessage subscrMsg, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
basketRoutingManager.ProcessBackMessage(adapter, subscrMsg, adapterLookup)

Обработка обратного сообщения с отслеживанием подписки.

ProcessConnect
public ValueTuple<IEnumerable<Message>, Message[], Message[]> ProcessConnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = basketRoutingManager.ProcessConnect(adapter, wrapper, supportedMessages, error)

Обработка успешного или неудачного соединения.

adapter
Адаптер, который подключался.
wrapper
Обертка для адаптера.
supportedMessages
Поддерживаемые типы сообщений.
error
Ошибка подключения, если таковая имеется.

Возвращает: Дополнительные сообщения для отправки и ожидающие сообщения для возврата.

ProcessDisconnect
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = basketRoutingManager.ProcessDisconnect(adapter, wrapper, supportedMessages, error)

Отключение процесса.

adapter
Адаптер, который отключился.
wrapper
Обертка для адаптера.
supportedMessages
Поддерживаемые типы сообщений.
error
Ошибка отключения, если таковая имеется.

Возвращает: Дополнительные сообщения для отправки.

ProcessInMessageAsync
public ValueTask<RoutingInResult> ProcessInMessageAsync(Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = basketRoutingManager.ProcessInMessageAsync(message, adapterLookup, cancellationToken)

Обработать входящее сообщение и принять решения о маршрутизации.

ProcessOutMessageAsync
public ValueTask<RoutingOutResult> ProcessOutMessageAsync(IMessageAdapter innerAdapter, Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = basketRoutingManager.ProcessOutMessageAsync(innerAdapter, message, adapterLookup, cancellationToken)

Обработка исходящего сообщения от внутреннего адаптера.

Reset
public void Reset(bool clearPending)
basketRoutingManager.Reset(clearPending)

Сброс всех состояний маршрутизации.

clearPending
Удалять ли ожидающие сообщения.
TryGetOrderAdapter
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = basketRoutingManager.TryGetOrderAdapter(transactionId, adapter)

Попробуйте получить адаптер для заказа по идентификатору транзакции.