IBasketRoutingManager
Интерфейс управления маршрутизацией сообщений в адаптере корзины. Инкапсулирует всю логику маршрутизации, подключения и подписки.
Свойства
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter
iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter = value
Получает или устанавливает, следует ли запускать событие подключения / отключения на первом адаптере.
public int ConnectedCount { get; }
value = iBasketRoutingManager.ConnectedCount
Получает количество подключенных адаптеров.
public bool HasPendingAdapters { get; }
value = iBasketRoutingManager.HasPendingAdapters
Узнает, есть ли еще адаптеры, которые подключаются.
public IdGenerator TransactionIdGenerator { get; set; }
value = iBasketRoutingManager.TransactionIdGenerator
iBasketRoutingManager.TransactionIdGenerator = value
Генератор идентификаторов транзакций, используемый для внутренней маршрутизации подписки на ребенка, должен быть синхронизирован с генератором родительского адаптера.
Методы
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
iBasketRoutingManager.AddOrderAdapter(transactionId, adapter)
Добавьте транзакцию заказа в сопоставление адаптера.
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = iBasketRoutingManager.ApplyParentLookupId(msg)
Примените переназначение родительского идентификатора поиска к сообщению о подписке.
Возвращает: если действительный родительский элемент не найден и сообщение должно быть удалено.
public void BeginConnect()
iBasketRoutingManager.BeginConnect()
Начать процесс подключения.
public void BeginDisconnect()
iBasketRoutingManager.BeginDisconnect()
Начать процесс отключения.
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetAdaptersToDisconnect(adapterLookup)
Приобретите адаптеры, которые необходимо отключить.
- adapterLookup
- Функция для получения оболочки из базового адаптера.
Возвращает: Словарь оболочки базового адаптера.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetPortfolioAdapter(portfolioName, adapterLookup)
Получите адаптер для маршрутизации на основе портфеля.
public long[] GetSubscribers(DataType dataType)
result = iBasketRoutingManager.GetSubscribers(dataType)
Получите идентификаторы подписчиков для типа данных.
public void InitializeAdapter(IMessageAdapter adapter)
iBasketRoutingManager.InitializeAdapter(adapter)
Инициализируйте адаптер для подключения.
public void LoadPortfolioAdapters(IEnumerable<ValueTuple<string, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadPortfolioAdapters(mappings)
Очистите и загрузите сопоставления адаптеров портфолио.
public void LoadSecurityAdapters(IEnumerable<ValueTuple<ValueTuple<SecurityId, DataType>, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadSecurityAdapters(mappings)
Очистка и загрузка сопоставлений адаптеров финансовых инструментов.
public void OnAdapterRemoved(IMessageAdapter adapter)
iBasketRoutingManager.OnAdapterRemoved(adapter)
Вызывается, когда адаптер удаляется из списка внутренних адаптеров.
public void OnAdaptersCleared()
iBasketRoutingManager.OnAdaptersCleared()
Вызывается, когда все адаптеры удалены из списка внутренних адаптеров.
public void OnPortfolioAdapterProviderChanged(string portfolioName, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnPortfolioAdapterProviderChanged(portfolioName, adapterId, isAdd, findAdapter)
Обработка смены поставщика адаптера портфолио.
public void OnSecurityAdapterProviderChanged(ValueTuple<SecurityId, DataType> key, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnSecurityAdapterProviderChanged(key, adapterId, isAdd, findAdapter)
Обработка смены поставщика адаптера финансовых инструментов.
public void ProcessBackMessage(IMessageAdapter adapter, ISubscriptionMessage subscrMsg, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
iBasketRoutingManager.ProcessBackMessage(adapter, subscrMsg, adapterLookup)
Обработка обратного сообщения с отслеживанием подписки.
public ValueTuple<IEnumerable<Message>, Message[], Message[]> ProcessConnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessConnect(adapter, wrapper, supportedMessages, error)
Обработка успешного или неудачного соединения.
- adapter
- Адаптер, который подключался.
- wrapper
- Обертка для адаптера.
- supportedMessages
- Поддерживаемые типы сообщений.
- error
- Ошибка подключения, если таковая имеется.
Возвращает: Дополнительные сообщения для отправки и ожидающие сообщения для возврата.
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessDisconnect(adapter, wrapper, supportedMessages, error)
Отключение процесса.
- adapter
- Адаптер, который отключился.
- wrapper
- Обертка для адаптера.
- supportedMessages
- Поддерживаемые типы сообщений.
- error
- Ошибка отключения, если таковая имеется.
Возвращает: Дополнительные сообщения для отправки.
public ValueTask<RoutingInResult> ProcessInMessageAsync(Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessInMessageAsync(message, adapterLookup, cancellationToken)
Обработать входящее сообщение и принять решения о маршрутизации.
public ValueTask<RoutingOutResult> ProcessOutMessageAsync(IMessageAdapter innerAdapter, Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessOutMessageAsync(innerAdapter, message, adapterLookup, cancellationToken)
Обработка исходящего сообщения от внутреннего адаптера.
public void Reset(bool clearPending)
iBasketRoutingManager.Reset(clearPending)
Сброс всех состояний маршрутизации.
- clearPending
- Удалять ли ожидающие сообщения.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = iBasketRoutingManager.TryGetOrderAdapter(transactionId, adapter)
Попробуйте получить адаптер для заказа по идентификатору транзакции.