BasketRoutingManager

StockSharp.Algo.Basket

Implementación predeterminada de IBasketRoutingManager. Gestiona la lógica de enrutamiento de mensajes para adaptador de cesta.

Implementa: IBasketRoutingManager

Constructores

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)

Inicia una nueva instancia de BasketRoutingManager.

Propiedades

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

Para llamar al evento ConnectMessage cuando el primer adaptador se conecta. Si , espera que todos los adaptadores se conecten.

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

Consigue el conteo de adaptadores conectados.

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

Si cualquier adaptador sigue conectándose.

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

Generador de id de transacción utilizado para la routa interna de suscripción de niños. Debe mantenerse en sincronía con el generador del adaptador padre.

Métodos

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

Agregue la transacción de pedido a la cartografía de adaptador.

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

Aplicar la identificación de búsqueda de padres que se remapping al mensaje de suscripción.

Devuelve: si no se encuentra un padre válido y debe dejarse caer el mensaje.

BeginConnect
public void BeginConnect()
basketRoutingManager.BeginConnect()

Establece estado de canasta para conectar.

BeginDisconnect
public void BeginDisconnect()
basketRoutingManager.BeginDisconnect()

Establece el estado de la canasta 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)

Crea una nueva instancia de BasketRoutingManager@ con componentes estatales predeterminados.

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

Consigue adaptadores que necesitan ser desconectados.

adapterLookup
Función para obtener envoltura del adaptador subyacente.

Devuelve: Diccionario de envoltura al adaptador subyacente.

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

Obtenga adaptador para la enrutación basada en cartera.

Devuelve: Encontramos adaptador o nulo.

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

Obtenga IDs de suscriptor para un tipo de datos.

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

Inicia el estado de adaptador antes de conectarse.

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

Cartografías de adaptador de cartera claras y de carga.

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

Cartografías claras y cargadas de adaptadores de instrumentos financieros.

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

Llamado cuando se quita un adaptador de la lista de adaptadores internos.

OnAdaptersCleared
public void OnAdaptersCleared()
basketRoutingManager.OnAdaptersCleared()

Llamado cuando todos los adaptadores se limpian de la lista de adaptadores internos.

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

Cambio de proveedor de adaptador de cartera de manijas.

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

Manejo de instrumentos financieros cambio de proveedor.

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

Procese un mensaje de respaldo con seguimiento de suscripción.

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

Proceso de conexión exitosa o fallida.

adapter
El adaptador que conecta.
wrapper
El envoltorio para el adaptador.
supportedMessages
Tipos de mensaje compatibles.
error
Error de conexión si existe.

Devuelve: Mensajes adicionales para enviar y mensajes pendientes para volver a bucle.

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

Desconexión de procesos.

adapter
El adaptador que se desconectó.
wrapper
El envoltorio para el adaptador.
supportedMessages
Tipos de mensaje compatibles.
error
Error de desconexión si es así.

Devuelve: Mensajes adicionales para enviar.

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

Procesar un mensaje entrante y determinar las decisiones de enrutamiento.

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

Procesar un mensaje saliente de un adaptador interno.

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

Reiniciar todo estado de enrutamiento.

clearPending
Ya sea para aclarar los mensajes pendientes.
TryGetOrderAdapter
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = basketRoutingManager.TryGetOrderAdapter(transactionId, adapter)

Pruebe el adaptador para el pedido por transacción id.