ClientFixSession

StockSharp.Server.Fix

Представляет подключенный сеанс клиента FIX с собственным модулем записи, диалектом и очередью исходящих сообщений.

Наследует: FixSession

Реализует: IMessageListenerSession, ILogReceiver, ILogSource, IDisposable

Конструкторы

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)

Инициализирует новый экземпляр ClientFixSession.

fixDialect
FIX-диалект для анализа и записи сообщений.
version
Строка версии протокола FIX.
language
Языковые предпочтения клиента.
clientStream
Сетевой поток для связи.
client
TCP-клиентское соединение.
quotesInterval
Интервал агрегирования обновлений котировок.
serverSession
Конфигурация сеанса на стороне родительского сервера.
authorizationToken
Токен авторизации возвращается после успешного входа в систему.
transactionIdStorage
Хранилище для сопоставления идентификаторов запросов FIX с идентификаторами внутренних транзакций.
checkSumDisabled
Отключена ли проверка контрольной суммы FIX.
isDemo
Будь то демо-сессия.
maxPendingMessages
Максимальное количество исходящих рабочих элементов в очереди, прежде чем противодавление приведет к отключению. Ноль означает неограниченность.

Свойства

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

Токен авторизации, назначенный на эту сессию после успешного входа в систему.

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

Количество полученных байтов.

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

Количество отправленных байтов.

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

Количество ошибок.

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

Диалект FIX, используемый в данной сессии для сериализации сообщений.

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

Получите статус соединения.

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

Работает ли эта сессия в демо-режиме.

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

Предпочтение языка клиента (e.g. "en", "ru").

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

Текущий размер очередей исходящих сообщений (-1, если канал не выставляет счет).

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

Интервал для агрегирования дополнительных обновлений котировок перед отправкой.

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

Удаленный адрес конечной точки подключенного клиента.

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

Сериализатор FIX для этой сессии.

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

Конфигурация сеанса на стороне родительского сервера.

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

Полный подсчет ошибок.

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

UTC-метка времени последнего полученного сообщения (сердцебиение или данные).

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

Версия протокола FIX, сообщенная клиентом во время входа в систему.

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

FIX-писатель для сериализации исходящих сообщений.

Методы

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

Освободите ресурсы.

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

Поставьте рабочий элемент сериализации в очередь для обработки. Возвращает значение, если очередь заполнена или завершена (противодавление клиента), чтобы вызывающий абонент мог принудительно отключиться.

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

Увеличьте BytesSent.

count
Ценность.
IncreaseErrorCount
public override void IncreaseErrorCount()
clientFixSession.IncreaseErrorCount()

Увеличьте ErrorCount.

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

Запустите цикл обработки исходящих сообщений для этого сеанса.

serverSettings
Настройки сервера (используются для максимальных порогов ошибок).
logout
Обратный вызов для вызова, когда сеанс необходимо принудительно отключить.
cancellationToken
Токен отмены.

Возвращает: Задача, которая выполняется в течение всего времени существования сеанса.

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

Инициализируйте сериализатор с помощью данного читателя.

reader
Читатель FIX для входящих сообщений.
Ping
public void Ping()
clientFixSession.Ping()

Обновите временную метку последней активности до текущего времени UTC.

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

Сброс ErrorCount.