IBasketRoutingManager

StockSharp.Algo.Basket

Schnittstelle zur Verwaltung des Nachrichtenroutings im Korbadapter: kapselt alle Routing-, Verbindungs- und Abonnementlogiken ein.

Eigenschaften

ConnectDisconnectEventOnFirstAdapter
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.

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

Bekommt die Anzahl der angeschlossenen Adapter.

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

Bekommt, ob es noch Adapter gibt, die sich verbinden.

TransactionIdGenerator
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

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

Fügen Sie die Ordertransaktion zum Adapter-Mapping hinzu.

ApplyParentLookupId
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.

BeginConnect
public void BeginConnect()
iBasketRoutingManager.BeginConnect()

Beginnen Sie den Verbindungsprozess.

BeginDisconnect
public void BeginDisconnect()
iBasketRoutingManager.BeginDisconnect()

Beginnen Sie den Abschaltvorgang.

GetAdaptersToDisconnect
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.

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

Holen Sie sich einen Adapter für portfoliobasiertes Routing.

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

Abonnenten-IDs für einen Datentyp abrufen.

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

Initialisieren Sie den Adapter für die Verbindung.

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

Deaktivieren und Laden von Portfolio-Adapter-Mappings.

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

Zuordnungen zu Finanzinstrumenten sind zu klären und zu laden.

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

Aufruf, wenn ein Adapter aus der Liste der inneren Adapter entfernt wird.

OnAdaptersCleared
public void OnAdaptersCleared()
iBasketRoutingManager.OnAdaptersCleared()

Aufrufen, wenn alle Adapter aus der Liste der inneren Adapter gelöscht wurden.

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

Änderung des Portfolio-Adapter-Anbieters.

OnSecurityAdapterProviderChanged
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.

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

Verarbeiten Sie eine Rückmeldung mit Abonnement-Tracking.

ProcessConnect
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.

ProcessDisconnect
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.

ProcessInMessageAsync
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.

ProcessOutMessageAsync
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.

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

Setzen Sie den Routing-Status zurück.

clearPending
Ob anstehende Nachrichten gelöscht werden.
TryGetOrderAdapter
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.