AdapterRouter
Standard-Implementierung von IAdapterRouter.
Implementiert: IAdapterRouter
Konstruktoren
public AdapterRouter(IOrderRoutingState orderRouting, Func<IMessageAdapter, IMessageAdapter> getUnderlyingAdapter, CandleBuilderProvider candleBuilderProvider, Func<bool> levelExtend)
adapterRouter = AdapterRouter(orderRouting, getUnderlyingAdapter, candleBuilderProvider, levelExtend)
Initialisiert eine neue Instanz von AdapterRouter.
- orderRouting
- Order Routing Zustand.
- getUnderlyingAdapter
- Funktion zum Entpacken des Adapters zum Basiswert.
- candleBuilderProvider
- Candle Builder Provider für Abonnementfilterung.
- levelExtend
- Funktion, die die Einstellung Level1Extend zurückgibt.
Methoden
public void AddMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.AddMessageTypeAdapter(type, adapter)
Adapter für den angegebenen Nachrichtentyp hinzufügen.
public void AddNotSupported(long transactionId, IMessageAdapter adapter)
adapterRouter.AddNotSupported(transactionId, adapter)
Fügen Sie einen Adapter zu einem nicht unterstützten Set für eine Transaktion hinzu (für die Retry-Logik).
public void AddOrderAdapter(long transactionId, IMessageAdapter adapter)
adapterRouter.AddOrderAdapter(transactionId, adapter)
Fügen Sie die Ordertransaktion zum Adapter-Mapping hinzu.
public void AddPortfolioAdapter(string key, IMessageAdapter adapter)
adapterRouter.AddPortfolioAdapter(key, adapter)
Portfolioadapter-Mapping direkt hinzufügen. Wird während des Ladens verwendet.
public void AddSecurityAdapter(ValueTuple<SecurityId, DataType> key, IMessageAdapter adapter)
adapterRouter.AddSecurityAdapter(key, adapter)
Direkte Zuordnung von Finanzinstrumenten hinzufügen, während der Belastung verwendet.
public void Clear()
adapterRouter.Clear()
Löscht alle Adapterzustände und setzt den aktuellen Zustand auf Disconnected zurück.
public void ClearPortfolioAdapters()
adapterRouter.ClearPortfolioAdapters()
Cache für Portfolio-Adapter, die während des Ladens verwendet werden.
public void ClearSecurityAdapters()
adapterRouter.ClearSecurityAdapters()
Cache-Speicher für klare Finanzinstrumentadapter, während der Belastung verwendet.
public ValueTuple<IMessageAdapter[], bool> GetAdapters(Message message, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetAdapters(message, getWrapper)
Holen Sie sich Adapter für eine Nachricht basierend auf Nachrichtentyp, Finanzinstrument und Filterung.
- message
- Nachricht an die Route.
- getWrapper
- Funktion zum Auflösen des Wrapper-Adapters vom zugrunde liegenden Adapter.
Rückgabe: Matched Adapter-Array und ob unterstützte Nachrichtenfilterung übersprungen wurde.
public IMessageAdapter GetPortfolioAdapter(string portfolioName, Func<IMessageAdapter, IMessageAdapter> getWrapper)
result = adapterRouter.GetPortfolioAdapter(portfolioName, getWrapper)
Holen Sie sich einen Adapter für portfoliobasiertes Routing.
- portfolioName
- Portfolioname.
- getWrapper
- Funktion zum Auflösen des Wrapper-Adapters vom zugrunde liegenden Adapter.
Rückgabe: gefunden Adapter oder null.
public ValueTask<IMessageAdapter[]> GetSubscriptionAdaptersAsync(MarketDataMessage mdMsg, IMessageAdapter[] adapters, bool skipSupportedMessages, CancellationToken cancellationToken)
result = adapterRouter.GetSubscriptionAdaptersAsync(mdMsg, adapters, skipSupportedMessages, cancellationToken)
Holen Sie sich Adapter für das Marktdatenabonnement mit zusätzlicher Filterung (Kerzen, Build-Modus usw.).
- mdMsg
- Marktdatennachricht.
- adapters
- Vorgefilterte Adapter von IMessageAdapter .
- skipSupportedMessages
- Ob die unterstützte Nachrichtenfilterung übersprungen wurde.
- cancellationToken
- CancellationToken
Rückgabe: Gefilterte Adapter.
public void RemoveMessageTypeAdapter(MessageTypes type, IMessageAdapter adapter)
adapterRouter.RemoveMessageTypeAdapter(type, adapter)
Entfernen Sie den Adapter für den angegebenen Nachrichtentyp.
public void RemovePortfolioAdapter(string portfolio)
adapterRouter.RemovePortfolioAdapter(portfolio)
Entfernen Sie den Adapter für das Portfolio.
public void RemoveSecurityAdapter(SecurityId secId, DataType dataType)
adapterRouter.RemoveSecurityAdapter(secId, dataType)
Entfernen Sie den Adapter für bestimmte Finanzinstrumente und Datentypen.
public void SetPortfolioAdapter(string portfolio, IMessageAdapter adapter)
adapterRouter.SetPortfolioAdapter(portfolio, adapter)
Set Adapter für Portfolio.
public void SetSecurityAdapter(SecurityId secId, DataType dataType, IMessageAdapter adapter)
adapterRouter.SetSecurityAdapter(secId, dataType, adapter)
Set-Adapter für bestimmte Finanzinstrumente und Datentyp.
public bool TryGetOrderAdapter(long transactionId, IMessageAdapter adapter)
result = adapterRouter.TryGetOrderAdapter(transactionId, adapter)
Versuchen Sie, Adapter für die Bestellung per Transaktions-ID zu erhalten.