IBasketRoutingManager
Interfaz para gestionar el mensaje enrutamiento en el adaptador de cesta. Encapsula todo la línea de enrutamiento, conexión y lógica de suscripción.
Propiedades
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter
iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter = value
Consigue o establece si se puede disparar el evento de conexión/desconexión en el primer adaptador.
public int ConnectedCount { get; }
value = iBasketRoutingManager.ConnectedCount
Consigue el conteo de adaptadores conectados.
public bool HasPendingAdapters { get; }
value = iBasketRoutingManager.HasPendingAdapters
Se obtiene si todavía hay adaptadores conectados.
public IdGenerator TransactionIdGenerator { get; set; }
value = iBasketRoutingManager.TransactionIdGenerator
iBasketRoutingManager.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
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
iBasketRoutingManager.AddOrderAdapter(transactionId, adapter)
Agregue la transacción de pedido a la cartografía de adaptador.
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = iBasketRoutingManager.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.
public void BeginConnect()
iBasketRoutingManager.BeginConnect()
Comience el proceso de conexión.
public void BeginDisconnect()
iBasketRoutingManager.BeginDisconnect()
Comience el proceso de desconexión.
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetAdaptersToDisconnect(adapterLookup)
Consigue adaptadores que necesitan ser desconectados.
- adapterLookup
- Función para obtener envoltura del adaptador subyacente.
Devuelve: Diccionario de envoltura al adaptador subyacente.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetPortfolioAdapter(portfolioName, adapterLookup)
Obtenga adaptador para la enrutación basada en cartera.
public long[] GetSubscribers(DataType dataType)
result = iBasketRoutingManager.GetSubscribers(dataType)
Obtenga IDs de suscriptor para un tipo de datos.
public void InitializeAdapter(IMessageAdapter adapter)
iBasketRoutingManager.InitializeAdapter(adapter)
Inicializar el adaptador para la conexión.
public void LoadPortfolioAdapters(IEnumerable<ValueTuple<string, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadPortfolioAdapters(mappings)
Cartografías de adaptador de cartera claras y de carga.
public void LoadSecurityAdapters(IEnumerable<ValueTuple<ValueTuple<SecurityId, DataType>, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadSecurityAdapters(mappings)
Cartografías claras y cargadas de adaptadores de instrumentos financieros.
public void OnAdapterRemoved(IMessageAdapter adapter)
iBasketRoutingManager.OnAdapterRemoved(adapter)
Llamado cuando se quita un adaptador de la lista de adaptadores internos.
public void OnAdaptersCleared()
iBasketRoutingManager.OnAdaptersCleared()
Llamado cuando todos los adaptadores se limpian de la lista de adaptadores internos.
public void OnPortfolioAdapterProviderChanged(string portfolioName, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnPortfolioAdapterProviderChanged(portfolioName, adapterId, isAdd, findAdapter)
Cambio de proveedor de adaptador de cartera de manijas.
public void OnSecurityAdapterProviderChanged(ValueTuple<SecurityId, DataType> key, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnSecurityAdapterProviderChanged(key, adapterId, isAdd, findAdapter)
Manejo de instrumentos financieros cambio de proveedor.
public void ProcessBackMessage(IMessageAdapter adapter, ISubscriptionMessage subscrMsg, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
iBasketRoutingManager.ProcessBackMessage(adapter, subscrMsg, adapterLookup)
Procese un mensaje de respaldo con seguimiento de suscripción.
public ValueTuple<IEnumerable<Message>, Message[], Message[]> ProcessConnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.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.
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.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.
public ValueTask<RoutingInResult> ProcessInMessageAsync(Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessInMessageAsync(message, adapterLookup, cancellationToken)
Procesar un mensaje entrante y determinar las decisiones de enrutamiento.
public ValueTask<RoutingOutResult> ProcessOutMessageAsync(IMessageAdapter innerAdapter, Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessOutMessageAsync(innerAdapter, message, adapterLookup, cancellationToken)
Procesar un mensaje saliente de un adaptador interno.
public void Reset(bool clearPending)
iBasketRoutingManager.Reset(clearPending)
Reiniciar todo estado de enrutamiento.
- clearPending
- Ya sea para aclarar los mensajes pendientes.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = iBasketRoutingManager.TryGetOrderAdapter(transactionId, adapter)
Trate de obtener adaptador para un pedido por su ID de transacción.