ClientFixSession
Stellt eine verbundene FIX-Clientsitzung mit eigenem Schreiber, Dialekt und ausgehender Nachrichtenwarteschlange dar.
Erbt von: FixSession
Implementiert: IMessageListenerSession, ILogReceiver, ILogSource, IDisposable
Konstruktoren
public ClientFixSession(IFixDialect fixDialect, string version, string language, Stream clientStream, TcpClient client, TimeSpan quotesInterval, FixSession serverSession, string authorizationToken, ISessionTransactionIdStorage transactionIdStorage, bool checkSumDisabled, bool isDemo, int maxPendingMessages)
clientFixSession = ClientFixSession(fixDialect, version, language, clientStream, client, quotesInterval, serverSession, authorizationToken, transactionIdStorage, checkSumDisabled, isDemo, maxPendingMessages)
Initialisiert eine neue Instanz von ClientFixSession.
- fixDialect
- FIX Dialekt für Nachrichten Parsing und Schreiben.
- version
- FIX-Protokoll-Versionszeichenfolge.
- language
- Präferenz der Kundensprache.
- clientStream
- Netzwerk-Stream für die Kommunikation.
- client
- TCP-Clientverbindung.
- quotesInterval
- Intervall für die Aggregation von Angebotsaktualisierungen.
- serverSession
- Parent serverseitige Sitzungskonfiguration.
- authorizationToken
- Autorisierungstoken nach erfolgreicher Anmeldung zurückgegeben.
- transactionIdStorage
- Speichern für die Zuordnung von FIX-Anfrage-IDs zu internen Transaktions-IDs.
- checkSumDisabled
- Ob die FIX-Prüfsummenvalidierung deaktiviert ist.
- isDemo
- Ob es sich um eine Demo-Sitzung handelt.
- maxPendingMessages
- Maximale Anzahl an angestellten Arbeitsgegenständen, bevor der Gegendruck eine Trennung erzwingt.
Eigenschaften
public string AuthorizationToken { get; }
value = clientFixSession.AuthorizationToken
Autorisierungstoken, die dieser Sitzung nach erfolgreicher Anmeldung zugewiesen wurden.
public long BytesReceived { get; set; }
value = clientFixSession.BytesReceived
clientFixSession.BytesReceived = value
Die Anzahl der empfangenen Bytes.
public long BytesSent { get; set; }
value = clientFixSession.BytesSent
clientFixSession.BytesSent = value
Die Anzahl der gesendeten Bytes.
public int ErrorCount { get; set; }
value = clientFixSession.ErrorCount
clientFixSession.ErrorCount = value
Die Anzahl der Fehler.
public IFixDialect FixDialect { get; }
value = clientFixSession.FixDialect
FIX-Dialekt, der von dieser Sitzung für die Nachrichtenserialisierung verwendet wird.
public override bool IsConnected { get; }
value = clientFixSession.IsConnected
Verbindungsstatus erhalten.
public bool IsDemo { get; }
value = clientFixSession.IsDemo
Ob diese Sitzung im Demo-Modus funktioniert.
public string Language { get; }
value = clientFixSession.Language
Client Language Preference (e.g. "en", "ru").
public int OutgoingQueueCount { get; }
value = clientFixSession.OutgoingQueueCount
Aktuelle Größe der ausgehenden Nachrichtenwarteschlange (-1, wenn der Kanal keine Zählung ausstellt).
public TimeSpan QuotesInterval { get; }
value = clientFixSession.QuotesInterval
Intervall zum Aggregieren von inkrementellen Angebotsaktualisierungen vor dem Senden.
public EndPoint RemoteEndPoint { get; }
value = clientFixSession.RemoteEndPoint
Remote-Endpunktadresse des verbundenen Clients.
public IFixServerSerializer Serializer { get; private set; }
value = clientFixSession.Serializer
clientFixSession.Serializer = value
Der FIX-Serializer für diese Sitzung.
public FixSession ServerSession { get; }
value = clientFixSession.ServerSession
Parent serverseitige Sitzungskonfiguration.
public int TotalErrorCount { get; set; }
value = clientFixSession.TotalErrorCount
clientFixSession.TotalErrorCount = value
Gesamtzahl der Fehler.
public ISessionTransactionIdStorage TransactionIdStorage { get; }
value = clientFixSession.TransactionIdStorage
public DateTime UpdatedTime { get; }
value = clientFixSession.UpdatedTime
UTC-Zeitstempel der zuletzt empfangenen Nachricht (Herzschlag oder Daten).
public string Version { get; }
value = clientFixSession.Version
FIX-Protokollversion, die vom Client während der Anmeldung gemeldet wurde.
public IFixWriter Writer { get; }
value = clientFixSession.Writer
FIX Writer zum Serialisieren von ausgehenden Nachrichten.
Methoden
protected override void DisposeManaged()
clientFixSession.DisposeManaged()
Ressourcen freigeben.
public bool EnqueueWork(ServerSubscription subscription, string requestId, Func<ClientFixSession, string, CancellationToken, ValueTask<bool>> handler)
result = clientFixSession.EnqueueWork(subscription, requestId, handler)
Warteschlange für die Bearbeitung eines Serialisierungs-Arbeitselements. Gibt zurück, wenn die Warteschlange vollständig oder abgeschlossen ist (Client-Backdruck), damit der Anrufer eine Trennung erzwingen kann.
public override void IncreaseBytesSent(int count)
clientFixSession.IncreaseBytesSent(count)
Erhöhen Sie BytesSent.
- count
- Wert.
public override void IncreaseErrorCount()
clientFixSession.IncreaseErrorCount()
Erhöhen Sie ErrorCount.
public Task Init(FixServerSettings serverSettings, Action<ClientFixSession> logout, CancellationToken cancellationToken)
result = clientFixSession.Init(serverSettings, logout, cancellationToken)
Starten Sie die ausgehende Nachrichtenverarbeitungsschleife für diese Sitzung.
- serverSettings
- Servereinstellungen (für maximale Fehlerschwellenwerte verwendet).
- logout
- Callback zum Aufrufen, wenn die Sitzung gewaltsam getrennt werden muss.
- cancellationToken
- Löschungszeichen.
Rückgabe: Aufgabe, die für die gesamte Lebensdauer der Sitzung ausgeführt wird.
public void InitSerializer(IFixReader reader)
clientFixSession.InitSerializer(reader)
Initialisieren Sie den Serializer mit dem angegebenen Reader.
- reader
- Der FIX-Reader für eingehende Nachrichten.
public void Ping()
clientFixSession.Ping()
Aktualisieren Sie den letzten Aktivitätszeitstempel auf die aktuelle UTC-Zeit.
public override void ResetErrorCount()
clientFixSession.ResetErrorCount()
Reset ErrorCount.