FixServer
ФИКС-сервер.
Наследует: BaseProtocolServer<ClientFixSession, FixServerSubscription, FixServerSettings>
Конструкторы
public FixServer(IAuthorization authorization, ITransactionIdStorage transactionIdStorage, string licenseFeatureId, Type componentType)
fixServer = FixServer(authorization, transactionIdStorage, licenseFeatureId, componentType)
Инициализирует новый экземпляр FixServer.
- authorization
- Аутентификация клиента.
- transactionIdStorage
- Хранение идентификаторов транзакций и запросов.
- licenseFeatureId
- LicenseFeatureId
- componentType
- ComponentTimestamp
public FixServer(IAuthorization authorization, ITransactionIdStorage transactionIdStorage, string licenseFeatureId, DateTime componentTimestamp, IMessageConverter converter)
fixServer = FixServer(authorization, transactionIdStorage, licenseFeatureId, componentTimestamp, converter)
Инициализирует новый экземпляр FixServer.
- authorization
- Аутентификация клиента.
- transactionIdStorage
- Хранение идентификаторов транзакций и запросов.
- licenseFeatureId
- LicenseFeatureId
- componentTimestamp
- ComponentTimestamp
- converter
- Конвертер сообщений.
Свойства
public IAuthorization Authorization { get; }
value = fixServer.Authorization
Аутентификация клиента.
public DateTime ComponentTimestamp { get; }
value = fixServer.ComponentTimestamp
Временная метка компонента.
public IMessageConverter Converter { get; }
value = fixServer.Converter
Преобразователь сообщений для преобразования сообщений FIX? StockSharp.
public string LicenseFeatureId { get; }
value = fixServer.LicenseFeatureId
Ид функции лицензии, который будет отправлен в качестве ответа Logon.
public bool SendOutHeartbeats { get; set; }
value = fixServer.SendOutHeartbeats
fixServer.SendOutHeartbeats = value
Отправляйте сердцебиение через исходящий канал сообщений.
public ITransactionIdStorage TransactionIdStorage { get; }
value = fixServer.TransactionIdStorage
Методы
protected virtual OrderCondition CreateCondition()
result = fixServer.CreateCondition()
Создать условие заказа.
Возвращает: Условие заказа.
protected override FixServerSubscription CreateSubscription(ClientFixSession session, string requestId, ServerSubscription subscription, MessageTypes type)
result = fixServer.CreateSubscription(session, requestId, subscription, type)
private long CreateTransactionId(ClientFixSession session, string requestId)
result = fixServer.CreateTransactionId(session, requestId)
Создайте новый идентификатор запроса.
- session
- Сессия.
- requestId
- Идентификатор запроса.
Возвращает: Идентификатор транзакции.
protected override string GetSessionKey(ClientFixSession session)
result = fixServer.GetSessionKey(session)
protected override bool IsStubSubscription(FixServerSubscription subscription)
result = fixServer.IsStubSubscription(subscription)
public override void Load(SettingsStorage storage)
fixServer.Load(storage)
Загрузить настройки.
- storage
- Хранилище настроек.
protected override void OnClearListenerState()
fixServer.OnClearListenerState()
Очистить состояние прослушивателя для конкретного протокола (остановить прослушиватели и т. д.).
protected virtual IAsyncEnumerable<Message> OnProcess(FixSession session, string msgType, IFixReader reader, CancellationToken cancellationToken)
result = fixServer.OnProcess(session, msgType, reader, cancellationToken)
Метод вызывается при обработке полученного сообщения.
protected override void OnStartListeners(CancellationToken cancellationToken)
fixServer.OnStartListeners(cancellationToken)
Запустите прослушиватели для конкретного протокола (TCP и т. д.). Добавляйте задачи в _backgroundTasks.
protected virtual void PostInitCondition(char ordType, OrderCondition condition)
fixServer.PostInitCondition(ordType, condition)
Окончательная инициализация условия заказа.
- ordType
- Тип заказа.
- condition
- Условие заказа.
protected override void ProcessInMessage(Message message, CancellationToken cancellationToken)
fixServer.ProcessInMessage(message, cancellationToken)
Обработать входящее сообщение и направить его подписанным клиентам.
protected override void ProcessLogout(ClientFixSession session)
fixServer.ProcessLogout(session)
protected virtual ValueTask<bool> ReadOrderConditionAsync(IFixServerSerializer serializer, FixTags tag, Func<OrderCondition> getCondition, CancellationToken cancellationToken)
result = fixServer.ReadOrderConditionAsync(serializer, tag, getCondition, cancellationToken)
Прочитать условие заказа OrderCondition.
- serializer
- IFixServerSerializer
- tag
- Тег.
- getCondition
- Функция, возвращающая условие ордера.
- cancellationToken
- CancellationToken
Возвращает: Были ли данные успешно обработаны.
public override void Save(SettingsStorage storage)
fixServer.Save(storage)
Сохраните настройки.
- storage
- Хранилище настроек.
protected override void ScheduleSessionWork(ClientFixSession session, ServerSubscription subscription, string requestId, Func<ClientFixSession, string, CancellationToken, ValueTask<bool>> handler)
fixServer.ScheduleSessionWork(session, subscription, requestId, handler)
private static string TryGetRequestId(ClientFixSession session, long transactionId)
result = FixServer.TryGetRequestId(session, transactionId)
Получите идентификатор запроса.
- session
- Сессия.
- transactionId
- Идентификатор транзакции.
Возвращает: Идентификатор запроса.
internal static bool TryResolveTransactionId(ISessionTransactionIdStorage storage, string requestId, long transactionId)
result = FixServer.TryResolveTransactionId(storage, requestId, transactionId)
Преобразуйте идентификатор запроса клиента в идентификатор транзакции сервера.
- storage
- Хранилище идентификаторов транзакций сеанса.
- requestId
- Идентификатор запроса.
- transactionId
- Идентификатор решенной транзакции.
Возвращает: если идентификатор транзакции был разрешен; в противном случае, .
protected virtual ValueTask WriterFixOrderConditionAsync(IFixServerSerializer serializer, OrderCondition condition, CancellationToken cancellationToken)
result = fixServer.WriterFixOrderConditionAsync(serializer, condition, cancellationToken)
Для записи данных по условию заказа (асинхронная версия).
- serializer
- IFixServerSerializer
- condition
- Условие ордера (e.g., параметры стоп- и алгоритм- ордеров).
- cancellationToken
- Токен отмены.