IBasketRoutingManager
Schnittstelle zur Verwaltung des Nachrichtenroutings im Korbadapter: kapselt alle Routing-, Verbindungs- und Abonnementlogiken ein.
Eigenschaften
public bool ConnectDisconnectEventOnFirstAdapter { get; set; }
value = iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter
iBasketRoutingManager.ConnectDisconnectEventOnFirstAdapter = value
Bekommt oder legt fest, ob ein Connect/Disconnect-Ereignis auf dem ersten Adapter ausgelöst werden soll.
public int ConnectedCount { get; }
value = iBasketRoutingManager.ConnectedCount
Bekommt die Anzahl der angeschlossenen Adapter.
public bool HasPendingAdapters { get; }
value = iBasketRoutingManager.HasPendingAdapters
Bekommt, ob es noch Adapter gibt, die sich verbinden.
public IdGenerator TransactionIdGenerator { get; set; }
value = iBasketRoutingManager.TransactionIdGenerator
iBasketRoutingManager.TransactionIdGenerator = value
Transaktions-ID-Generator für internes Kinderabonnement-Routing: muss synchron mit dem Generator des übergeordneten Adapters gehalten werden.
Methoden
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
iBasketRoutingManager.AddOrderAdapter(transactionId, adapter)
Fügen Sie die Ordertransaktion zum Adapter-Mapping hinzu.
public bool ApplyParentLookupId(ISubscriptionIdMessage msg)
result = iBasketRoutingManager.ApplyParentLookupId(msg)
Anwenden von Parent Lookup ID Remapping auf die Abonnementnachricht.
Rückgabe: wenn kein gültiger elternteil gefunden und die nachricht gelöscht werden sollte.
public void BeginConnect()
iBasketRoutingManager.BeginConnect()
Beginnen Sie den Verbindungsprozess.
public void BeginDisconnect()
iBasketRoutingManager.BeginDisconnect()
Beginnen Sie den Abschaltvorgang.
public IDictionary<IMessageAdapter, IMessageAdapter> GetAdaptersToDisconnect(Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetAdaptersToDisconnect(adapterLookup)
Holen Sie sich Adapter, die getrennt werden müssen.
- adapterLookup
- Funktion, um Wrapper vom zugrunde liegenden Adapter zu erhalten.
Rückgabe: Wörterbuch des Wrappers zum zugrunde liegenden Adapter.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
result = iBasketRoutingManager.GetPortfolioAdapter(portfolioName, adapterLookup)
Holen Sie sich einen Adapter für portfoliobasiertes Routing.
public long[] GetSubscribers(DataType dataType)
result = iBasketRoutingManager.GetSubscribers(dataType)
Abonnenten-IDs für einen Datentyp abrufen.
public void InitializeAdapter(IMessageAdapter adapter)
iBasketRoutingManager.InitializeAdapter(adapter)
Initialisieren Sie den Adapter für die Verbindung.
public void LoadPortfolioAdapters(IEnumerable<ValueTuple<string, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadPortfolioAdapters(mappings)
Deaktivieren und Laden von Portfolio-Adapter-Mappings.
public void LoadSecurityAdapters(IEnumerable<ValueTuple<ValueTuple<SecurityId, DataType>, IMessageAdapter>> mappings)
iBasketRoutingManager.LoadSecurityAdapters(mappings)
Zuordnungen zu Finanzinstrumenten sind zu klären und zu laden.
public void OnAdapterRemoved(IMessageAdapter adapter)
iBasketRoutingManager.OnAdapterRemoved(adapter)
Aufruf, wenn ein Adapter aus der Liste der inneren Adapter entfernt wird.
public void OnAdaptersCleared()
iBasketRoutingManager.OnAdaptersCleared()
Aufrufen, wenn alle Adapter aus der Liste der inneren Adapter gelöscht wurden.
public void OnPortfolioAdapterProviderChanged(string portfolioName, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnPortfolioAdapterProviderChanged(portfolioName, adapterId, isAdd, findAdapter)
Änderung des Portfolio-Adapter-Anbieters.
public void OnSecurityAdapterProviderChanged(ValueTuple<SecurityId, DataType> key, Guid adapterId, bool isAdd, Func<Guid, IMessageAdapter> findAdapter)
iBasketRoutingManager.OnSecurityAdapterProviderChanged(key, adapterId, isAdd, findAdapter)
Änderung des Finanzinstrumentadapters handhaben.
public void ProcessBackMessage(IMessageAdapter adapter, ISubscriptionMessage subscrMsg, Func<IMessageAdapter, IMessageAdapter> adapterLookup)
iBasketRoutingManager.ProcessBackMessage(adapter, subscrMsg, adapterLookup)
Verarbeiten Sie eine Rückmeldung mit Abonnement-Tracking.
public ValueTuple<IEnumerable<Message>, Message[], Message[]> ProcessConnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessConnect(adapter, wrapper, supportedMessages, error)
Erfolgreiche oder fehlgeschlagene Verbindung verarbeiten.
- adapter
- Der Adapter, der angeschlossen ist.
- wrapper
- Der Wrapper für den Adapter.
- supportedMessages
- Unterstützte Nachrichtentypen.
- error
- Verbindungsfehler (falls vorhanden).
Rückgabe: Zusätzliche Nachrichten zum Versenden und ausstehende Nachrichten zum Zurückschleifen.
public IEnumerable<Message> ProcessDisconnect(IMessageAdapter adapter, IMessageAdapter wrapper, IEnumerable<MessageTypes> supportedMessages, Exception error)
result = iBasketRoutingManager.ProcessDisconnect(adapter, wrapper, supportedMessages, error)
Prozessabschaltung.
- adapter
- Der Adapter, der sich getrennt hat.
- wrapper
- Der Wrapper für den Adapter.
- supportedMessages
- Unterstützte Nachrichtentypen.
- error
- Gegebenenfalls Trennfehler.
Rückgabe: Extra Nachrichten zum Versenden.
public ValueTask<RoutingInResult> ProcessInMessageAsync(Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessInMessageAsync(message, adapterLookup, cancellationToken)
Verarbeiten Sie eine eingehende Nachricht und bestimmen Sie Routing-Entscheidungen.
public ValueTask<RoutingOutResult> ProcessOutMessageAsync(IMessageAdapter innerAdapter, Message message, Func<IMessageAdapter, IMessageAdapter> adapterLookup, CancellationToken cancellationToken)
result = iBasketRoutingManager.ProcessOutMessageAsync(innerAdapter, message, adapterLookup, cancellationToken)
Verarbeiten Sie eine ausgehende Nachricht von einem inneren Adapter.
public void Reset(bool clearPending)
iBasketRoutingManager.Reset(clearPending)
Setzen Sie den Routing-Status zurück.
- clearPending
- Ob anstehende Nachrichten gelöscht werden.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = iBasketRoutingManager.TryGetOrderAdapter(transactionId, adapter)
Versuchen Sie, Adapter für eine Bestellung durch seine Transaktions-ID zu erhalten.