IBasketRoutingManager
Interface para gerenciar roteamento de mensagens no adaptador de cesta. Encapsula todas as rotas, conexão e lógica de assinatura.
Propriedades
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter
iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter = value
Obtém ou define se deseja disparar o evento de ligação/desconexão no primeiro adaptador.
public int ConnectedCount { get; }
value = iBasketRoutingManager.ConnectedCount
Obtém a contagem de adaptadores conectados.
public bool HasPendingAdapters { get; }
value = iBasketRoutingManager.HasPendingAdapters
Obtém se existem adaptadores ainda se conectando.
public IdGenerator TransactionIdGenerator { get; set; }
value = iBasketRoutingManager.TransactionIdGenerator
iBasketRoutingManager.TransactionIdGenerator = value
Gerador de ID de transação usado para roteamento interno da assinatura do filho. Deve ser mantido em sincronia com o gerador do adaptador pai.
Métodos
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
iBasketRoutingManager.AddOrderAdapter(transactionId, adapter)
Adicionar transação de ordem ao mapeamento do adaptador.
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = iBasketRoutingManager.ApplyParentLookupId(msg)
Aplicar o ID de pesquisa pai a remapear a mensagem de subscrição.
Retorna: se não for encontrado nenhum pai válido e a mensagem for retirada.
public void BeginConnect()
iBasketRoutingManager.BeginConnect()
Iniciar processo de ligação.
public void BeginDisconnect()
iBasketRoutingManager.BeginDisconnect()
Iniciar processo de desconexão.
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetAdaptersToDisconnect(adapterLookup)
Obtenha adaptadores que precisam ser desconectados.
- adapterLookup
- Função para obter o invólucro do adaptador subjacente.
Retorna: Dicionário de embalagem para adaptador subjacente.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetPortfolioAdapter(portfolioName, adapterLookup)
Obtenha o adaptador para roteamento baseado em portfólio.
public long[] GetSubscribers(DataType dataType)
result = iBasketRoutingManager.GetSubscribers(dataType)
Obtenha IDs de assinante para um tipo de dados.
public void InitializeAdapter(IMessageAdapter adapter)
iBasketRoutingManager.InitializeAdapter(adapter)
Inicializar o adaptador para conexão.
public void LoadPortfolioAdapters(IEnumerable<ValueTuple<string, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadPortfolioAdapters(mappings)
Limpar e carregar mapeamentos de adaptadores de portfólio.
public void LoadSecurityAdapters(IEnumerable<ValueTuple<ValueTuple<SecurityId, DataType>, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadSecurityAdapters(mappings)
Limpar e carregar mapeamentos de adaptador de instrumentos financeiros.
public void OnAdapterRemoved(IMessageAdapter adapter)
iBasketRoutingManager.OnAdapterRemoved(adapter)
Chamado quando um adaptador é removido da lista interna de adaptadores.
public void OnAdaptersCleared()
iBasketRoutingManager.OnAdaptersCleared()
Chamado quando todos os adaptadores são limpos da lista de adaptadores internos.
public void OnPortfolioAdapterProviderChanged(string portfolioName, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnPortfolioAdapterProviderChanged(portfolioName, adapterId, isAdd, findAdapter)
Lidar com mudança de provedor de adaptador de portfólio.
public void OnSecurityAdapterProviderChanged(ValueTuple<SecurityId, DataType> key, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnSecurityAdapterProviderChanged(key, adapterId, isAdd, findAdapter)
Lidar com a mudança do adaptador de instrumentos financeiros.
public void ProcessBackMessage(IMessageAdapter adapter, ISubscriptionMessage subscrMsg, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
iBasketRoutingManager.ProcessBackMessage(adapter, subscrMsg, adapterLookup)
Processe uma mensagem traseira com o rastreamento da assinatura.
public ValueTuple<IEnumerable<Message>, Message[], Message[]> ProcessConnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessConnect(adapter, wrapper, supportedMessages, error)
Processar uma ligação bem sucedida ou com falha.
- adapter
- O adaptador que se ligou.
- wrapper
- A embalagem para o adaptador.
- supportedMessages
- Tipos de mensagens suportados.
- error
- Erro de conexão, se houver.
Retorna: Mensagens extras para enviar e aguardar mensagens para voltar.
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessDisconnect(adapter, wrapper, supportedMessages, error)
Desconexão do processo.
- adapter
- O adaptador que desligou.
- wrapper
- A embalagem para o adaptador.
- supportedMessages
- Tipos de mensagens suportados.
- error
- Erro de desconexão, se existir.
Retorna: Mensagens extras para enviar.
public ValueTask<RoutingInResult> ProcessInMessageAsync(Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessInMessageAsync(message, adapterLookup, cancellationToken)
Processe uma mensagem recebida e determine as decisões de encaminhamento.
public ValueTask<RoutingOutResult> ProcessOutMessageAsync(IMessageAdapter innerAdapter, Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessOutMessageAsync(innerAdapter, message, adapterLookup, cancellationToken)
Processe uma mensagem de saída de um adaptador interno.
public void Reset(bool clearPending)
iBasketRoutingManager.Reset(clearPending)
Reinicie todo o estado de roteamento.
- clearPending
- Se deve limpar as mensagens pendentes.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = iBasketRoutingManager.TryGetOrderAdapter(transactionId, adapter)
Tente obter o adaptador para uma ordem pelo seu ID de transação.