MessageAdapter
Базовый адаптер преобразует сообщения Message в команды торговой системы и обратно.
Наследует: BaseLogReceiver
Реализует: IMessageAdapter, IMessageTransport, IPersistable, ILogReceiver, ILogSource, IDisposable, ICloneable<IMessageAdapter>, ICloneable, INotifyPropertyChanged
Конструкторы
protected MessageAdapter(IdGenerator transactionIdGenerator)
messageAdapter = MessageAdapter(transactionIdGenerator)
Инициализируйте MessageAdapter.
- transactionIdGenerator
- Генератор идентификаторов транзакций.
Свойства
public virtual string[] AssociatedBoards { get; }
value = messageAdapter.AssociatedBoards
Адаптер может обрабатывать подписку только с помощью инструментов, связанных с указанной платой.
public virtual IEnumerable<Level1Fields> CandlesBuildFrom { get; }
value = messageAdapter.CandlesBuildFrom
Возможные варианты строительства свечей.
public virtual MessageAdapterCategories Categories { get; }
value = messageAdapter.Categories
Категории адаптеров сообщений.
public virtual bool CheckTimeFrameByRequest { get; }
value = messageAdapter.CheckTimeFrameByRequest
Проверьте возможные сроки по запросу.
public virtual TimeSpan DisconnectTimeout { get; }
value = messageAdapter.DisconnectTimeout
У него есть тайм-аут, чтобы дождаться изящного отключения.
public virtual bool EnqueueSubscriptions { get; set; }
value = messageAdapter.EnqueueSubscriptions
messageAdapter.EnqueueSubscriptions = value
Записи в очередь.
public virtual bool ExtraSetup { get; }
value = messageAdapter.ExtraSetup
Адаптер требует дополнительной настройки.
public TimeSpan FaultDelay { get; set; }
value = messageAdapter.FaultDelay
messageAdapter.FaultDelay = value
Получает или устанавливает задержку, применяемую между неисправными итерациями.
public virtual string FeatureName { get; }
value = messageAdapter.FeatureName
Особенное имя.
public IFileSystem FileSystem { get; set; }
value = messageAdapter.FileSystem
messageAdapter.FileSystem = value
IFileSystem
public virtual bool HeartbeatBeforeConnect { get; }
value = messageAdapter.HeartbeatBeforeConnect
Начните отправлять TimeMessage до установления соединения.
public TimeSpan HeartbeatInterval { get; set; }
value = messageAdapter.HeartbeatInterval
messageAdapter.HeartbeatInterval = value
Проверочный интервал сервера для отслеживания соединения живым. Значение Zero выключено отслеживанием.
public virtual bool IsAutoReplyOnTransactonalUnsubscription { get; }
value = messageAdapter.IsAutoReplyOnTransactonalUnsubscription
Отправьте автоответ на OrderStatusMessage и PortfolioLookupMessage отписаться.
public virtual bool IsFullCandlesOnly { get; }
value = messageAdapter.IsFullCandlesOnly
Перевод CandleMessage как полностью заполненный.
public virtual bool IsNativeIdentifiers { get; }
value = messageAdapter.IsNativeIdentifiers
Идентифицировать финансовый инструмент в сообщениях по нативному идентификатору Native.
public virtual bool IsNativeIdentifiersPersistable { get; }
value = messageAdapter.IsNativeIdentifiersPersistable
Нативный идентификатор может быть сохранен.
public virtual bool? IsPositionsEmulationRequired { get; }
value = messageAdapter.IsPositionsEmulationRequired
Адаптер требовал эмуляции PositionChangeMessage.
public virtual bool IsReplaceCommandEditCurrent { get; }
value = messageAdapter.IsReplaceCommandEditCurrent
Является ли команда OrderReplaceMessage отредактировать текущий заказ.
public virtual bool IsSecurityNewsOnly { get; }
value = messageAdapter.IsSecurityNewsOnly
Адаптер предоставляет новости, связанные с определенным финансовым инструментом.
public virtual bool IsSupportExecutionsPnL { get; }
value = messageAdapter.IsSupportExecutionsPnL
Адаптер заполняет PnL.
public virtual bool IsSupportOrderBookIncrements { get; }
value = messageAdapter.IsSupportOrderBookIncrements
Адаптер переводит книги с дополнительными заказами.
public virtual bool IsSupportSubscriptions { get; }
value = messageAdapter.IsSupportSubscriptions
Поддерживать любые подписки (тиксы, книги заказов и т.д.).
public virtual bool IsSupportTransactionLog { get; }
value = messageAdapter.IsSupportTransactionLog
Адаптер переводит изменения заказов на ответ OrderStatusMessage.
public virtual TimeSpan IterationInterval { get; set; }
value = messageAdapter.IterationInterval
messageAdapter.IterationInterval = value
Интервал между итерациями.
public virtual TimeSpan? LookupTimeout { get; }
value = messageAdapter.LookupTimeout
Время ожидания.
public int MaxParallelMessages { get; set; }
value = messageAdapter.MaxParallelMessages
messageAdapter.MaxParallelMessages = value
Получает или устанавливает максимальное количество параллельных (неконтрольных) сообщений, которые могут быть обработаны.
public override string Name { get; set; }
value = messageAdapter.Name
messageAdapter.Name = value
Имя.
public virtual IEnumerable<MessageTypes> NotSupportedResultMessages { get; set; }
value = messageAdapter.NotSupportedResultMessages
messageAdapter.NotSupportedResultMessages = value
Не поддерживается адаптерными типами сообщений результатов.
public virtual Type OrderConditionType { get; }
value = messageAdapter.OrderConditionType
Тип OrderCondition.
public Platforms Platform { get; protected set; }
value = messageAdapter.Platform
messageAdapter.Platform = value
Битовый процесс, который может запускать адаптер.
public virtual IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; set; }
value = messageAdapter.PossibleSupportedMessages
messageAdapter.PossibleSupportedMessages = value
Возможные типы поддерживаемых сообщений.
public ReConnectionSettings ReConnectionSettings { get; }
value = messageAdapter.ReConnectionSettings
Настройки отслеживания соединения IMessageAdapter с сервером.
public virtual IEnumerable<ValueTuple<string, Type>> SecurityExtendedFields { get; }
value = messageAdapter.SecurityExtendedFields
Названия расширенных полей финансовых инструментов в SecurityMessage.
public virtual string StorageName { get; }
value = messageAdapter.StorageName
Имя хранилища.
public virtual IEnumerable<MessageTypes> SupportedInMessages { get; set; }
value = messageAdapter.SupportedInMessages
messageAdapter.SupportedInMessages = value
Поддерживается типами сообщений адаптера.
internal IEnumerable<DataType> SupportedMarketDataTypes { get; set; }
value = messageAdapter.SupportedMarketDataTypes
messageAdapter.SupportedMarketDataTypes = value
public virtual IEnumerable<int> SupportedOrderBookDepths { get; }
value = messageAdapter.SupportedOrderBookDepths
Доступные варианты для MaxDepth.
public IdGenerator TransactionIdGenerator { get; set; }
value = messageAdapter.TransactionIdGenerator
messageAdapter.TransactionIdGenerator = value
Генератор идентификаторов транзакций, используемый для внутренней маршрутизации подписки на ребенка, должен быть синхронизирован с генератором родительского адаптера.
public virtual bool UseInChannel { get; }
value = messageAdapter.UseInChannel
Используйте каналы для сообщений.
public virtual bool UseOutChannel { get; }
value = messageAdapter.UseOutChannel
Используйте каналы для рассылки сообщений.
Методы
protected virtual ValueTask BoardLookupAsync(BoardLookupMessage lookupMsg, CancellationToken cancellationToken)
result = messageAdapter.BoardLookupAsync(lookupMsg, cancellationToken)
protected virtual ValueTask CancelOrderAsync(OrderCancelMessage cancelMsg, CancellationToken cancellationToken)
result = messageAdapter.CancelOrderAsync(cancelMsg, cancellationToken)
protected virtual ValueTask CancelOrderGroupAsync(OrderGroupCancelMessage cancelMsg, CancellationToken cancellationToken)
result = messageAdapter.CancelOrderGroupAsync(cancelMsg, cancellationToken)
protected virtual ValueTask ChangePasswordAsync(ChangePasswordMessage pwdMsg, CancellationToken cancellationToken)
result = messageAdapter.ChangePasswordAsync(pwdMsg, cancellationToken)
public virtual IMessageAdapter Clone()
result = messageAdapter.Clone()
Создайте копию MessageAdapter.
Возвращает: Копия.
protected virtual ValueTask ConnectAsync(ConnectMessage connectMsg, CancellationToken cancellationToken)
result = messageAdapter.ConnectAsync(connectMsg, cancellationToken)
public virtual IOrderLogMarketDepthBuilder CreateOrderLogMarketDepthBuilder(SecurityId securityId)
result = messageAdapter.CreateOrderLogMarketDepthBuilder(securityId)
Создайте построитель глубины рынка.
- securityId
- идентификатор финансового инструмента.
Возвращает: Журнал заказов для построения стакана рынка.
protected virtual ValueTask DisconnectAsync(DisconnectMessage disconnectMsg, CancellationToken cancellationToken)
result = messageAdapter.DisconnectAsync(disconnectMsg, cancellationToken)
public virtual IAsyncEnumerable<DataType> GetSupportedMarketDataTypesAsync(SecurityId securityId, DateTime? from, DateTime? to)
result = messageAdapter.GetSupportedMarketDataTypesAsync(securityId, from, to)
Получите поддержку от типов сообщений адаптера.
- securityId
- SecurityId
- from
- Дата начала запроса. Если , то будут возвращены все доступные сообщения.
- to
- Дата окончания запроса. Если , то будут возвращены все доступные сообщения.
Возвращает: Поддерживается типами рыночных данных адаптера.
private void InitMessageLocalTime(Message message)
messageAdapter.InitMessageLocalTime(message)
Инициализируйте сообщение с локальной меткой времени.
- message
- Сообщение.
public virtual bool IsAllDownloadingSupported(DataType dataType)
result = messageAdapter.IsAllDownloadingSupported(dataType)
Включена ли для указанного загрузка всех финансовых инструментов.
- dataType
- Информация о типе данных.
Возвращает: Проверьте результат.
public virtual bool IsSecurityRequired(DataType dataType)
result = messageAdapter.IsSecurityRequired(dataType)
Поддержка фильтрации подписок (подписка/отмена подписки на определенный финансовый инструмент).
- dataType
- Информация о типе данных.
Возвращает: Проверьте результат.
public virtual bool IsSupportCandlesPriceLevels(MarketDataMessage subscription)
result = messageAdapter.IsSupportCandlesPriceLevels(subscription)
Свечи поддержки PriceLevels.
- subscription
- MarketDataMessage
Возвращает: Проверьте результат.
public virtual bool IsSupportCandlesUpdates(MarketDataMessage subscription)
result = messageAdapter.IsSupportCandlesUpdates(subscription)
Поддержка подписки на свечи и живых обновлений.
- subscription
- MarketDataMessage
Возвращает: Проверьте результат.
public override void Load(SettingsStorage storage)
messageAdapter.Load(storage)
Загрузить настройки.
- storage
- Хранилище настроек.
protected virtual ValueTask MarketDataAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.MarketDataAsync(mdMsg, cancellationToken)
protected virtual ValueTask OnCandlesSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnCandlesSubscriptionAsync(mdMsg, cancellationToken)
Обрабатывает запрос подписки на данные свечей. Переопределить, чтобы обеспечить реализацию обработки подписки на свечи. Реализация по умолчанию выдает NotSupported.
- mdMsg
- Сообщение о подписке на рыночные данные.
- cancellationToken
- Токен отмены для отмены операции.
Возвращает: ValueTask, представляющий асинхронную операцию.
protected virtual ValueTask OnLevel1SubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnLevel1SubscriptionAsync(mdMsg, cancellationToken)
Обрабатывает запрос на подписку для данных уровня 1. Переопределить, чтобы обеспечить реализацию обработки подписки уровня 1. Реализация по умолчанию выдает NotSupported.
- mdMsg
- Сообщение о подписке на рыночные данные.
- cancellationToken
- Токен отмены для отмены операции.
Возвращает: ValueTask, представляющий асинхронную операцию.
protected virtual ValueTask OnMarketDepthSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnMarketDepthSubscriptionAsync(mdMsg, cancellationToken)
Обрабатывает запрос на подписку на данные о глубине рынка. Переопределить, чтобы обеспечить реализацию обработки подписки на глубину рынка. Реализация по умолчанию выдает NotSupported.
- mdMsg
- Сообщение о подписке на рыночные данные.
- cancellationToken
- Токен отмены для отмены операции.
Возвращает: ValueTask, представляющий асинхронную операцию.
protected virtual ValueTask OnNewsSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnNewsSubscriptionAsync(mdMsg, cancellationToken)
Обрабатывает запрос подписки на данные новостей. Переопределить, чтобы обеспечить реализацию обработки подписки на новости. Реализация по умолчанию выдает NotSupported.
- mdMsg
- Сообщение о подписке на рыночные данные.
- cancellationToken
- Токен отмены для отмены операции.
Возвращает: ValueTask, представляющий асинхронную операцию.
protected virtual ValueTask OnOrderLogSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnOrderLogSubscriptionAsync(mdMsg, cancellationToken)
Обрабатывает запрос на подписку для данных журнала заказов (сделок/транзакций). Переопределить, чтобы обеспечить реализацию обработки подписки на журнал заказов. Реализация по умолчанию выдает NotSupported.
- mdMsg
- Сообщение о подписке на рыночные данные.
- cancellationToken
- Токен отмены для отмены операции.
Возвращает: ValueTask, представляющий асинхронную операцию.
protected void OnPropertyChanged(string propertyName)
messageAdapter.OnPropertyChanged(propertyName)
Вызовите событие PropertyChanged.
- propertyName
- Название свойства, которое изменилось.
protected virtual ValueTask OnSendInMessageAsync(Message message, CancellationToken cancellationToken)
result = messageAdapter.OnSendInMessageAsync(message, cancellationToken)
Отправить обработчик сообщения.
- message
- Сообщение
- cancellationToken
- CancellationToken
Возвращает: ValueTask
protected virtual ValueTask OnTFCandlesSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnTFCandlesSubscriptionAsync(mdMsg, cancellationToken)
Обрабатывает запрос на подписку на данные временных свечей (TF-свечи). Переопределить, чтобы обеспечить реализацию обработки подписки на свечи TF. Реализация по умолчанию выдает NotSupported.
- mdMsg
- Сообщение о подписке на рыночные данные.
- cancellationToken
- Токен отмены для отмены операции.
Возвращает: ValueTask, представляющий асинхронную операцию.
protected virtual ValueTask OnTicksSubscriptionAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = messageAdapter.OnTicksSubscriptionAsync(mdMsg, cancellationToken)
Обрабатывает запрос подписки на данные тиков. Переопределить, чтобы обеспечить реализацию обработки подписки на тики. Реализация по умолчанию выдает NotSupported.
- mdMsg
- Сообщение о подписке на рыночные данные.
- cancellationToken
- Токен отмены для отмены операции.
Возвращает: ValueTask, представляющий асинхронную операцию.
protected virtual ValueTask OrderStatusAsync(OrderStatusMessage statusMsg, CancellationToken cancellationToken)
result = messageAdapter.OrderStatusAsync(statusMsg, cancellationToken)
protected virtual ValueTask PortfolioLookupAsync(PortfolioLookupMessage lookupMsg, CancellationToken cancellationToken)
result = messageAdapter.PortfolioLookupAsync(lookupMsg, cancellationToken)
protected virtual ValueTask RegisterOrderAsync(OrderRegisterMessage regMsg, CancellationToken cancellationToken)
result = messageAdapter.RegisterOrderAsync(regMsg, cancellationToken)
protected virtual ValueTask ReplaceOrderAsync(OrderReplaceMessage replaceMsg, CancellationToken cancellationToken)
result = messageAdapter.ReplaceOrderAsync(replaceMsg, cancellationToken)
protected virtual ValueTask ResetAsync(ResetMessage resetMsg, CancellationToken cancellationToken)
result = messageAdapter.ResetAsync(resetMsg, cancellationToken)
public override void Save(SettingsStorage storage)
messageAdapter.Save(storage)
Сохраните настройки.
- storage
- Хранилище настроек.
protected virtual ValueTask SecurityLookupAsync(SecurityLookupMessage lookupMsg, CancellationToken cancellationToken)
result = messageAdapter.SecurityLookupAsync(lookupMsg, cancellationToken)
public virtual ValueTask SendInMessageAsync(Message message, CancellationToken cancellationToken)
result = messageAdapter.SendInMessageAsync(message, cancellationToken)
Обрабатывает общее сообщение асинхронно.
- message
- Сообщение для обработки.
- cancellationToken
- CancellationToken
protected ValueTask SendOutConnectionStateAsync(ConnectionStates state, CancellationToken cancellationToken)
result = messageAdapter.SendOutConnectionStateAsync(state, cancellationToken)
Отправьте CancellationToken) сообщение о состоянии соединения.
- state
- ConnectionStates
- cancellationToken
- Токен отмены.
protected ValueTask SendOutDisconnectMessageAsync(bool expected, CancellationToken cancellationToken)
result = messageAdapter.SendOutDisconnectMessageAsync(expected, cancellationToken)
Отправьте сообщение CancellationToken) об отключении.
- expected
- Ожидается ли отключение.
- cancellationToken
- Токен отмены.
protected ValueTask SendOutDisconnectMessageAsync(Exception error, CancellationToken cancellationToken)
result = messageAdapter.SendOutDisconnectMessageAsync(error, cancellationToken)
Отправьте сообщение CancellationToken) об отключении.
- error
- Информация об ошибке. Может быть.
- cancellationToken
- Токен отмены.
protected ValueTask SendOutErrorAsync(string description, CancellationToken cancellationToken)
result = messageAdapter.SendOutErrorAsync(description, cancellationToken)
Инициализируйте новое сообщение ErrorMessage и передайте его методу CancellationToken).
- description
- Подробности ошибки.
- cancellationToken
- Токен отмены.
protected ValueTask SendOutErrorAsync(Exception error, CancellationToken cancellationToken)
result = messageAdapter.SendOutErrorAsync(error, cancellationToken)
Инициализируйте новое сообщение ErrorMessage и передайте его методу CancellationToken).
- error
- Подробности ошибки.
- cancellationToken
- Токен отмены.
public virtual ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = messageAdapter.SendOutMessageAsync(message, cancellationToken)
Отправка исходящего сообщения (изменение состояния, заказа и т.п.).
- message
- Сообщение.
- cancellationToken
- CancellationToken
protected ValueTask SendSubscriptionFinishedAsync(long originalTransactionId, CancellationToken cancellationToken, DateTime? nextFrom)
result = messageAdapter.SendSubscriptionFinishedAsync(originalTransactionId, cancellationToken, nextFrom)
Инициализируйте новое сообщение SubscriptionFinishedMessage и передайте его методу CancellationToken).
- originalTransactionId
- Идентификатор исходного сообщения, для которого это сообщение является ответом.
- cancellationToken
- Токен отмены.
- nextFrom
- NextFrom.
protected ValueTask SendSubscriptionNotSupportedAsync(long originalTransactionId, CancellationToken cancellationToken)
result = messageAdapter.SendSubscriptionNotSupportedAsync(originalTransactionId, cancellationToken)
Инициализируйте новое сообщение SubscriptionResponseMessage и передайте его методу CancellationToken).
- originalTransactionId
- Идентификатор исходного сообщения, для которого это сообщение является ответом.
- cancellationToken
- Токен отмены.
protected ValueTask SendSubscriptionOnlineAsync(long originalTransactionId, CancellationToken cancellationToken)
result = messageAdapter.SendSubscriptionOnlineAsync(originalTransactionId, cancellationToken)
Инициализируйте новое сообщение SubscriptionOnlineMessage и передайте его методу CancellationToken).
- originalTransactionId
- Идентификатор исходного сообщения, для которого это сообщение является ответом.
- cancellationToken
- Токен отмены.
protected ValueTask SendSubscriptionReplyAsync(long originalTransactionId, CancellationToken cancellationToken, Exception error)
result = messageAdapter.SendSubscriptionReplyAsync(originalTransactionId, cancellationToken, error)
Инициализируйте новое сообщение SubscriptionResponseMessage и передайте его методу CancellationToken).
- originalTransactionId
- Идентификатор исходного сообщения, для которого это сообщение является ответом.
- cancellationToken
- Токен отмены.
- error
- Подписаться или отписаться от информации об ошибке. Будет установлен, если ответ.
protected ValueTask SendSubscriptionResultAsync(ISubscriptionMessage message, CancellationToken cancellationToken)
result = messageAdapter.SendSubscriptionResultAsync(message, cancellationToken)
Инициализируйте новое сообщение SubscriptionOnlineMessage или SubscriptionFinishedMessage и передайте его методу CancellationToken).
- message
- Подписка.
- cancellationToken
- Токен отмены.
protected virtual ValueTask TimeAsync(TimeMessage timeMsg, CancellationToken cancellationToken)
result = messageAdapter.TimeAsync(timeMsg, cancellationToken)
protected virtual bool ValidateSecurityId(SecurityId secId)
result = messageAdapter.ValidateSecurityId(secId)
Убедитесь, что указанный идентификатор финансового инструмента поддерживается адаптером, и можно выполнить подписку.
- secId
- SecurityId.
Возвращает: Проверьте результат.
События
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
messageAdapter.NewOutMessageAsync += handler
Новое событие сообщения.