ClientFixSession
Representa una sesión de clientes conectada con su propio escritor, dialecto y la cola de mensajes salientes.
Hereda de: FixSession
Implementa: IMessageListenerSession, ILogReceiver, ILogSource, IDisposable
Constructores
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)
Inicia una nueva instancia de la ClientFixSession.
- fixDialect
- dialecto FIX para el perspicaz y la escritura de mensajes.
- version
- Corrección de la versión de protocolo FIX.
- language
- Preferencia de lenguaje de cliente.
- clientStream
- Transmisión de red para la comunicación.
- client
- Conexión cliente TCP.
- quotesInterval
- Intervalo para la agregación de actualizaciones de cotización.
- serverSession
- Configuración de sesión de servidor de parientes.
- authorizationToken
- Autorización token regresó después de tener éxito en la sesión.
- transactionIdStorage
- Almacenamiento para la asignación de ID de solicitud de FIX a los IDs de transacción internos.
- checkSumDisabled
- Si la validación de la suma de comprobación FIX está deshabilitada.
- isDemo
- Ya sea una sesión de demostración.
- maxPendingMessages
- Número máximo de artículos de trabajo salientes apagados antes de que las fuerzas de la presión se desconecten. Cero significa sin límites.
Propiedades
public string AuthorizationToken { get; }
value = clientFixSession.AuthorizationToken
Autorización token asignada a esta sesión después de tener éxito en la sesión.
public long BytesReceived { get; set; }
value = clientFixSession.BytesReceived
clientFixSession.BytesReceived = value
El número de bytes recibido.
public long BytesSent { get; set; }
value = clientFixSession.BytesSent
clientFixSession.BytesSent = value
El número de bytes enviado.
public int ErrorCount { get; set; }
value = clientFixSession.ErrorCount
clientFixSession.ErrorCount = value
El número de errores.
public IFixDialect FixDialect { get; }
value = clientFixSession.FixDialect
dialecto FIX utilizado por esta sesión para la serialización de mensajes.
public override bool IsConnected { get; }
value = clientFixSession.IsConnected
Obtenga el estado de conexión.
public bool IsDemo { get; }
value = clientFixSession.IsDemo
Si esta sesión funciona en modo de demostración.
public string Language { get; }
value = clientFixSession.Language
Preferencias de idioma cliente (e.g@. "en", "ru").
public int OutgoingQueueCount { get; }
value = clientFixSession.OutgoingQueueCount
Tamaño actual de la cola de mensaje saliente (-1 si el canal no expone un conteo).
public TimeSpan QuotesInterval { get; }
value = clientFixSession.QuotesInterval
Intervalo para agregar actualizaciones de presupuesto incremental antes de enviar.
public EndPoint RemoteEndPoint { get; }
value = clientFixSession.RemoteEndPoint
Dirección de extremo remoto del cliente conectado.
public IFixServerSerializer Serializer { get; private set; }
value = clientFixSession.Serializer
clientFixSession.Serializer = value
El serializador FIX para esta sesión.
public FixSession ServerSession { get; }
value = clientFixSession.ServerSession
Configuración de sesión de servidor de parientes.
public int TotalErrorCount { get; set; }
value = clientFixSession.TotalErrorCount
clientFixSession.TotalErrorCount = value
Cuenta total de error.
public ISessionTransactionIdStorage TransactionIdStorage { get; }
value = clientFixSession.TransactionIdStorage
public DateTime UpdatedTime { get; }
value = clientFixSession.UpdatedTime
UTC timetamp of the last received message (heartbeat or data).
public string Version { get; }
value = clientFixSession.Version
Versión de protocolo FIX reportada por el cliente durante el logo.
public IFixWriter Writer { get; }
value = clientFixSession.Writer
El escritor de FIX para serializar mensajes salientes.
Métodos
protected override void DisposeManaged()
clientFixSession.DisposeManaged()
Libera recursos.
public bool EnqueueWork(ServerSubscription subscription, string requestId, Func<ClientFixSession, string, CancellationToken, ValueTask<bool>> handler)
result = clientFixSession.EnqueueWork(subscription, requestId, handler)
Encubra un artículo de trabajo de serialización para el procesamiento. Devuelve si la cola está llena o completada (respresión de cliente) para que el llamante pueda forzar una desconexión.
public override void IncreaseBytesSent(int count)
clientFixSession.IncreaseBytesSent(count)
Incrementar BytesSent.
- count
- Valor.
public override void IncreaseErrorCount()
clientFixSession.IncreaseErrorCount()
Incrementar ErrorCount.
public Task Init(FixServerSettings serverSettings, Action<ClientFixSession> logout, CancellationToken cancellationToken)
result = clientFixSession.Init(serverSettings, logout, cancellationToken)
Iniciar el bucle de procesamiento de mensajes saliente para este período de sesiones.
- serverSettings
- Ajustes del servidor (utilizados para umbrales de error máximos).
- logout
- Revocar para invocar cuando el período de sesiones debe ser desvinculado.
- cancellationToken
- Cancelación token.
Devuelve: Tareas que se ejecutan para la vida útil del período de sesiones.
public void InitSerializer(IFixReader reader)
clientFixSession.InitSerializer(reader)
Inicia el serializador con el lector dado.
- reader
- El lector FIX para mensajes entrantes.
public void Ping()
clientFixSession.Ping()
Actualice el último tempo de actividad a la hora actual de UTC.
public override void ResetErrorCount()
clientFixSession.ResetErrorCount()
Reset ErrorCount.