ClientFixSession

StockSharp.Server.Fix

Representa uma sessão de cliente FIX conectada com seu próprio escritor, dialeto e fila de mensagens enviadas.

Herda de: FixSession

Implementa: IMessageListenerSession, ILogReceiver, ILogSource, IDisposable

Construtores

ClientFixSession
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)

Inicializa uma nova instância do ClientFixSession.

fixDialect
FIX dialect para análise e escrita de mensagens.
version
FIX protocolo versão string.
language
Preferência da língua do cliente.
clientStream
Fluxo de rede para comunicação.
client
Ligação ao cliente TCP.
quotesInterval
Intervalo para a agregação de atualizações de cotações.
serverSession
Configuração da sessão do lado do servidor pai.
authorizationToken
Token de autorização retornado após o login bem- sucedido.
transactionIdStorage
Armazenamento para mapeamento de IDs de solicitação FIX para IDs internos de transação.
checkSumDisabled
Se a validação do checksum FIX está desabilitada.
isDemo
Se esta é uma sessão de demonstração.
maxPendingMessages
O número máximo de itens de trabalho enviados em fila antes da contrapressão forçar uma desconexão. Zero significa não ligado.

Propriedades

AuthorizationToken
public string AuthorizationToken { get; }
value = clientFixSession.AuthorizationToken

Token de autorização atribuído a esta sessão após o login bem- sucedido.

BytesReceived
public long BytesReceived { get; set; }
value = clientFixSession.BytesReceived
clientFixSession.BytesReceived = value

O número de bytes recebidos.

BytesSent
public long BytesSent { get; set; }
value = clientFixSession.BytesSent
clientFixSession.BytesSent = value

O número de bytes enviados.

ErrorCount
public int ErrorCount { get; set; }
value = clientFixSession.ErrorCount
clientFixSession.ErrorCount = value

O número de erros.

FixDialect
public IFixDialect FixDialect { get; }
value = clientFixSession.FixDialect

FIX dialeto usado por esta sessão para serialização de mensagens.

IsConnected
public override bool IsConnected { get; }
value = clientFixSession.IsConnected

Obter o estado da ligação.

IsDemo
public bool IsDemo { get; }
value = clientFixSession.IsDemo

Se esta sessão funciona no modo de demonstração.

Language
public string Language { get; }
value = clientFixSession.Language

Preferência da língua do cliente (e.g. "en", "ru").

OutgoingQueueCount
public int OutgoingQueueCount { get; }
value = clientFixSession.OutgoingQueueCount

Tamanho atual da fila de mensagens de saída (- 1 se o canal não expor uma contagem).

QuotesInterval
public TimeSpan QuotesInterval { get; }
value = clientFixSession.QuotesInterval

Intervalo para a agregação de atualizações incrementais de cotação antes de enviar.

RemoteEndPoint
public EndPoint RemoteEndPoint { get; }
value = clientFixSession.RemoteEndPoint

Endereço de endpoint remoto do cliente conectado.

Serializer
public IFixServerSerializer Serializer { get; private set; }
value = clientFixSession.Serializer
clientFixSession.Serializer = value

O serializador FIX para esta sessão.

ServerSession
public FixSession ServerSession { get; }
value = clientFixSession.ServerSession

Configuração da sessão do lado do servidor pai.

TotalErrorCount
public int TotalErrorCount { get; set; }
value = clientFixSession.TotalErrorCount
clientFixSession.TotalErrorCount = value

Contagem total de erros.

TransactionIdStorage
public ISessionTransactionIdStorage TransactionIdStorage { get; }
value = clientFixSession.TransactionIdStorage
UpdatedTime
public DateTime UpdatedTime { get; }
value = clientFixSession.UpdatedTime

Hora de UTC da última mensagem recebida (batimento cardíaco ou dados).

Version
public string Version { get; }
value = clientFixSession.Version

Versão do protocolo FIX relatada pelo cliente durante o logon.

Writer
public IFixWriter Writer { get; }
value = clientFixSession.Writer

FIX writer para serialização de mensagens enviadas.

Métodos

DisposeManaged
protected override void DisposeManaged()
clientFixSession.DisposeManaged()

Libertar recursos.

EnqueueWork
public bool EnqueueWork(ServerSubscription subscription, string requestId, Func<ClientFixSession, string, CancellationToken, ValueTask<bool>> handler)
result = clientFixSession.EnqueueWork(subscription, requestId, handler)

Em fila um item de trabalho de serialização para processamento. Retorna se a fila estiver completa ou completa (contrapressão do cliente) para que o chamador possa forçar uma desconexão.

IncreaseBytesSent
public override void IncreaseBytesSent(int count)
clientFixSession.IncreaseBytesSent(count)

Aumentar BytesSent.

count
Valor.
IncreaseErrorCount
public override void IncreaseErrorCount()
clientFixSession.IncreaseErrorCount()

Aumentar ErrorCount.

Init
public Task Init(FixServerSettings serverSettings, Action<ClientFixSession> logout, CancellationToken cancellationToken)
result = clientFixSession.Init(serverSettings, logout, cancellationToken)

Inicie o ciclo de processamento de mensagens para esta sessão.

serverSettings
Configurações do servidor (utilizadas para limiares de erro máximo).
logout
Chamada para invocar quando a sessão deve ser desconectada com força.
cancellationToken
Inscrição de cancelamento.

Retorna: Tarefa que corre para o tempo de vida da sessão.

InitSerializer
public void InitSerializer(IFixReader reader)
clientFixSession.InitSerializer(reader)

Inicializar o serializador com o leitor indicado.

reader
O leitor FIX para mensagens recebidas.
Ping
public void Ping()
clientFixSession.Ping()

Atualizar a última hora de atividade para a hora atual do UTC.

ResetErrorCount
public override void ResetErrorCount()
clientFixSession.ResetErrorCount()

Reiniciar ErrorCount.