BasketRoutingManager

StockSharp.Algo.Basket

Implementação padrão de IBasketRoutingManager. Gerencia a lógica de roteamento de mensagens para o adaptador de cesta.

Implementa: IBasketRoutingManager

Construtores

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)

Inicializa uma nova instância de BasketRoutingManager.

Propriedades

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

Para chamar o evento ConnectMessage quando o primeiro adaptador se conecta. Se , espera que todos os adaptadores se conectem.

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

Obtém a contagem de adaptadores conectados.

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

Se algum adaptador ainda está se conectando.

TransactionIdGenerator
public IdGenerator TransactionIdGenerator { get; set; }
value = basketRoutingManager.TransactionIdGenerator
basketRoutingManager.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

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

Adicionar transação de ordem ao mapeamento do adaptador.

ApplyParentLookupId
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = basketRoutingManager.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.

BeginConnect
public void BeginConnect()
basketRoutingManager.BeginConnect()

Define o estado da cesta para a conexão.

BeginDisconnect
public void BeginDisconnect()
basketRoutingManager.BeginDisconnect()

Define o estado da cesta para desconectar.

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)

Cria uma nova instância de BasketRoutingManager com componentes de estado padrão.

GetAdaptersToDisconnect
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = basketRoutingManager.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.

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

Obtenha o adaptador para roteamento baseado em portfólio.

Retorna: Encontrou adaptador ou nulo.

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

Obtenha IDs de assinante para um tipo de dados.

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

Inicializa o estado do adaptador antes de se conectar.

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

Limpar e carregar mapeamentos de adaptadores de portfólio.

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

Limpar e carregar mapeamentos de adaptador de instrumentos financeiros.

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

Chamado quando um adaptador é removido da lista interna de adaptadores.

OnAdaptersCleared
public void OnAdaptersCleared()
basketRoutingManager.OnAdaptersCleared()

Chamado quando todos os adaptadores são limpos da lista de adaptadores internos.

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

Lidar com mudança de provedor de adaptador de portfólio.

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

Lidar com a mudança do adaptador de instrumentos financeiros.

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

Processe uma mensagem traseira com o rastreamento da assinatura.

ProcessConnect
public ValueTuple<IEnumerable<Message>, Message[], Message[]> ProcessConnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = basketRoutingManager.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.

ProcessDisconnect
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = basketRoutingManager.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.

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

Processe uma mensagem recebida e determine as decisões de encaminhamento.

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

Processe uma mensagem de saída de um adaptador interno.

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

Reinicie todo o estado de roteamento.

clearPending
Se deve limpar as mensagens pendentes.
TryGetOrderAdapter
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = basketRoutingManager.TryGetOrderAdapter(transactionId, adapter)

Tente obter o adaptador para ordem por ID de transação.