AdapterRouter
Implementação padrão de IAdapterRouter.
Implementa: IAdapterRouter
Construtores
public AdapterRouter(IOrderRoutingState orderRouting, Func<IMessageAdapter, IMessageAdapter> getUnderlyingAdapter, CandleBuilderProvider candleBuilderProvider, Func<bool> levelExtend)
adapterRouter = AdapterRouter(orderRouting, getUnderlyingAdapter, candleBuilderProvider, levelExtend)
Inicializa uma nova instância de AdapterRouter.
- orderRouting
- Ordem de rota.
- getUnderlyingAdapter
- Função para desembrulhar o adaptador para subjacente.
- candleBuilderProvider
- Fornecedor de construtor de velas para filtragem de assinatura.
- levelExtend
- Função que retorna a configuração Nível1Extender.
Métodos
public void AddMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.AddMessageTypeAdapter(type, adapter)
Adicionar adaptador para o tipo de mensagem especificado.
public void AddNotSupported(long transactionId, IMessageAdapter adapter)
adapterRouter.AddNotSupported(transactionId, adapter)
Adicionar adaptador ao conjunto não suportado para uma transação (para a lógica de repetição).
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
adapterRouter.AddOrderAdapter(transactionId, adapter)
Adicionar transação de ordem ao mapeamento do adaptador.
public void AddPortfolioAdapter(string key, IMessageAdapter adapter)
adapterRouter.AddPortfolioAdapter(key, adapter)
Adicionar mapeamento de adaptador de portfólio diretamente. Usado durante a Carga.
public void AddSecurityAdapter(ValueTuple<SecurityId, DataType> key, IMessageAdapter adapter)
adapterRouter.AddSecurityAdapter(key, adapter)
Adicionar mapeamento de adaptador de instrumentos financeiros diretamente. Usado durante a carga.
public void Clear()
adapterRouter.Clear()
Limpa todos os estados do adaptador e repõe o estado atual para Desligado.
public void ClearPortfolioAdapters()
adapterRouter.ClearPortfolioAdapters()
Limpar o cache de adaptadores de portfólio. Usado durante a Carga.
public void ClearSecurityAdapters()
adapterRouter.ClearSecurityAdapters()
Limpar o cache de adaptadores de instrumentos financeiros. Usado durante a Carga.
public ValueTuple<IMessageAdapter[], bool> GetAdapters(Message message, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetAdapters(message, getWrapper)
Obtenha adaptadores para uma mensagem baseada no tipo de mensagem, instrumento financeiro e filtragem.
- message
- Mensagem para rota.
- getWrapper
- Função para resolver o adaptador de invólucro do adaptador subjacente.
Retorna: Correspondência entre o array de adaptadores e se a filtragem de mensagens suportada foi ignorada.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetPortfolioAdapter(portfolioName, getWrapper)
Obtenha o adaptador para roteamento baseado em portfólio.
- portfolioName
- Nome da pasta.
- getWrapper
- Função para resolver o adaptador de invólucro do adaptador subjacente.
Retorna: Encontrou adaptador ou nulo.
public ValueTask<IMessageAdapter[]> GetSubscriptionAdaptersAsync(MarketDataMessage mdMsg, IMessageAdapter[] adapters, bool skipSupportedMessages, CancellationToken cancellationToken)
result = adapterRouter.GetSubscriptionAdaptersAsync(mdMsg, adapters, skipSupportedMessages, cancellationToken)
Obtenha adaptadores para assinatura de dados de mercado com filtragem adicional (candesias, modo de construção, etc.).
- mdMsg
- Mensagem de dados do mercado.
- adapters
- Adaptadores pré-filtrados de IMessageAdapter}).
- skipSupportedMessages
- Se a filtragem de mensagens suportadas foi ignorada.
- cancellationToken
- CancellationToken
Retorna: Adaptadores filtrados.
public void RemoveMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.RemoveMessageTypeAdapter(type, adapter)
Remover o adaptador para o tipo de mensagem especificado.
public void RemovePortfolioAdapter(string portfolio)
adapterRouter.RemovePortfolioAdapter(portfolio)
Remova o adaptador para o portfólio.
public void RemoveSecurityAdapter(SecurityId secId, DataType dataType)
adapterRouter.RemoveSecurityAdapter(secId, dataType)
Remova o adaptador para instrumento financeiro específico e tipo de dados.
public void SetPortfolioAdapter(string portfolio, IMessageAdapter adapter)
adapterRouter.SetPortfolioAdapter(portfolio, adapter)
Definir adaptador para portfólio.
public void SetSecurityAdapter(SecurityId secId, DataType dataType, IMessageAdapter adapter)
adapterRouter.SetSecurityAdapter(secId, dataType, adapter)
Definir adaptador para instrumento financeiro específico e tipo de dados.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = adapterRouter.TryGetOrderAdapter(transactionId, adapter)
Tente obter o adaptador para ordem por ID de transação.