BaseUdpDialect
Базовый класс, описывающий диалект протокола UDP.
Наследует: BaseLogReceiver
Реализует: IUdpDialect, IMessageAdapter, IMessageTransport, IPersistable, ILogReceiver, ILogSource, IDisposable, ICloneable<IMessageAdapter>, ICloneable
Конструкторы
protected BaseUdpDialect()
baseUdpDialect = BaseUdpDialect()
Инициализирует новый экземпляр класса BaseUdpDialect.
Свойства
public string[] AssociatedBoards { get; }
value = baseUdpDialect.AssociatedBoards
Адаптер может обрабатывать подписку только с помощью инструментов, связанных с указанной платой.
public virtual IEnumerable<Level1Fields> CandlesBuildFrom { get; }
value = baseUdpDialect.CandlesBuildFrom
Возможные варианты строительства свечей.
public virtual MessageAdapterCategories Categories { get; }
value = baseUdpDialect.Categories
Категории адаптеров сообщений.
public virtual bool CheckTimeFrameByRequest { get; }
value = baseUdpDialect.CheckTimeFrameByRequest
Проверьте возможные сроки по запросу.
public virtual TimeSpan DisconnectTimeout { get; }
value = baseUdpDialect.DisconnectTimeout
У него есть тайм-аут, чтобы дождаться изящного отключения.
public bool DumpPacketOnError { get; set; }
value = baseUdpDialect.DumpPacketOnError
baseUdpDialect.DumpPacketOnError = value
Когда это правда, регистрируется полная полезная нагрузка UDP-пакета в виде Base64 при неисправности обработки. Предназначен для диагностики/десериализации проблемных пакетов.
public virtual bool EnqueueSubscriptions { get; set; }
value = baseUdpDialect.EnqueueSubscriptions
baseUdpDialect.EnqueueSubscriptions = value
Записи в очередь.
public virtual bool ExtraSetup { get; }
value = baseUdpDialect.ExtraSetup
Адаптер требует дополнительной настройки.
public TimeSpan FaultDelay { get; set; }
value = baseUdpDialect.FaultDelay
baseUdpDialect.FaultDelay = value
Получает или устанавливает задержку, применяемую между неисправными итерациями.
public virtual string FeatureName { get; }
value = baseUdpDialect.FeatureName
Особенное имя.
protected int HeartbeatMls { get; }
value = baseUdpDialect.HeartbeatMls
Интервал сердцебиения в миллисекундах.
public virtual bool IsAutoReplyOnTransactonalUnsubscription { get; }
value = baseUdpDialect.IsAutoReplyOnTransactonalUnsubscription
Отправьте автоответ на OrderStatusMessage и PortfolioLookupMessage отписаться.
public virtual bool IsFullCandlesOnly { get; }
value = baseUdpDialect.IsFullCandlesOnly
Перевод CandleMessage как полностью заполненный.
public virtual bool IsNativeIdentifiers { get; }
value = baseUdpDialect.IsNativeIdentifiers
Идентифицировать финансовый инструмент в сообщениях по нативному идентификатору Native.
public virtual bool IsNativeIdentifiersPersistable { get; }
value = baseUdpDialect.IsNativeIdentifiersPersistable
Нативный идентификатор может быть сохранен.
public virtual bool? IsPositionsEmulationRequired { get; }
value = baseUdpDialect.IsPositionsEmulationRequired
Адаптер требовал эмуляции PositionChangeMessage.
public virtual bool IsReplaceCommandEditCurrent { get; }
value = baseUdpDialect.IsReplaceCommandEditCurrent
Является ли команда OrderReplaceMessage отредактировать текущий заказ.
public virtual bool IsSecurityNewsOnly { get; }
value = baseUdpDialect.IsSecurityNewsOnly
Адаптер предоставляет новости, связанные с определенным финансовым инструментом.
public virtual bool IsSupportExecutionsPnL { get; }
value = baseUdpDialect.IsSupportExecutionsPnL
Адаптер заполняет PnL.
public virtual bool IsSupportOrderBookIncrements { get; }
value = baseUdpDialect.IsSupportOrderBookIncrements
Адаптер переводит книги с дополнительными заказами.
public virtual bool IsSupportSubscriptions { get; }
value = baseUdpDialect.IsSupportSubscriptions
Поддерживать любые подписки (тиксы, книги заказов и т.д.).
public virtual bool IsSupportTransactionLog { get; }
value = baseUdpDialect.IsSupportTransactionLog
Адаптер переводит изменения заказов на ответ OrderStatusMessage.
public virtual TimeSpan IterationInterval { get; }
value = baseUdpDialect.IterationInterval
Интервал между итерациями.
public virtual TimeSpan? LookupTimeout { get; set; }
value = baseUdpDialect.LookupTimeout
baseUdpDialect.LookupTimeout = value
Время ожидания.
public int MaxIncomingQueueSize { get; set; }
value = baseUdpDialect.MaxIncomingQueueSize
baseUdpDialect.MaxIncomingQueueSize = value
Максимальное количество буферизуемых входящих UDP-пакетов на канал перед отбрасыванием новых пакетов.
public int MaxIncrementalWrongOrder { get; set; }
value = baseUdpDialect.MaxIncrementalWrongOrder
baseUdpDialect.MaxIncrementalWrongOrder = value
Макс инкрементальные сообщения с неправильным порядком перед началом восстановления.
public int MaxParallelMessages { get; set; }
value = baseUdpDialect.MaxParallelMessages
baseUdpDialect.MaxParallelMessages = value
Получает или устанавливает максимальное количество параллельных (неконтрольных) сообщений, которые могут быть обработаны.
public int MaxRestoreCount { get; set; }
value = baseUdpDialect.MaxRestoreCount
baseUdpDialect.MaxRestoreCount = value
Макса, который можно восстановить.
public int MaxRestores { get; set; }
value = baseUdpDialect.MaxRestores
baseUdpDialect.MaxRestores = value
Макса можно восстановить.
public int MaxSuspended { get; set; }
value = baseUdpDialect.MaxSuspended
baseUdpDialect.MaxSuspended = value
Макс приостановил сообщения.
public int MaxUdpDatagramSize { get; set; }
value = baseUdpDialect.MaxUdpDatagramSize
baseUdpDialect.MaxUdpDatagramSize = value
Максимальный размер дейтаграммы UDP.
public virtual Type OrderConditionType { get; }
value = baseUdpDialect.OrderConditionType
Тип OrderCondition.
public virtual IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; }
value = baseUdpDialect.PossibleSupportedMessages
Возможные типы поддерживаемых сообщений.
public virtual IEnumerable<ValueTuple<string, Type>> SecurityExtendedFields { get; }
value = baseUdpDialect.SecurityExtendedFields
Названия расширенных полей финансовых инструментов в SecurityMessage.
public virtual string StorageName { get; }
value = baseUdpDialect.StorageName
Имя хранилища.
public virtual IEnumerable<int> SupportedOrderBookDepths { get; }
value = baseUdpDialect.SupportedOrderBookDepths
Доступные варианты для MaxDepth.
public virtual bool UseInChannel { get; }
value = baseUdpDialect.UseInChannel
Используйте каналы для сообщений.
public virtual bool UseOutChannel { get; }
value = baseUdpDialect.UseOutChannel
Используйте каналы для рассылки сообщений.
public bool UseUdpResnapshot { get; set; }
value = baseUdpDialect.UseUdpResnapshot
baseUdpDialect.UseUdpResnapshot = value
Используйте повторный снимок UDP вместо воспроизведения TCP для восстановления пробелов.
Методы
public IMemoryOwner<byte> AllocatePacket(ILogReceiver logs, int size)
result = baseUdpDialect.AllocatePacket(logs, size)
Выделить пакет указанного размера.
- logs
- Приёмник журналов для регистрации информации о состоянии пула памяти.
- size
- Размер выделяемого пакета.
Возвращает: Пакет.
protected virtual ValueTask BoardLookupAsync(BoardLookupMessage lookupMsg, CancellationToken cancellationToken)
result = baseUdpDialect.BoardLookupAsync(lookupMsg, cancellationToken)
protected virtual ValueTask CancelOrderAsync(OrderCancelMessage cancelMsg, CancellationToken cancellationToken)
result = baseUdpDialect.CancelOrderAsync(cancelMsg, cancellationToken)
protected virtual ValueTask CancelOrderGroupAsync(OrderGroupCancelMessage cancelMsg, CancellationToken cancellationToken)
result = baseUdpDialect.CancelOrderGroupAsync(cancelMsg, cancellationToken)
protected virtual ValueTask ChangePasswordAsync(ChangePasswordMessage pwdMsg, CancellationToken cancellationToken)
result = baseUdpDialect.ChangePasswordAsync(pwdMsg, cancellationToken)
public virtual IMessageAdapter Clone()
result = baseUdpDialect.Clone()
Создает глубокую копию DataSeries.
protected virtual ValueTask ConnectAsync(ConnectMessage connectMsg, CancellationToken cancellationToken)
result = baseUdpDialect.ConnectAsync(connectMsg, cancellationToken)
public virtual IOrderLogMarketDepthBuilder CreateOrderLogMarketDepthBuilder(SecurityId securityId)
result = baseUdpDialect.CreateOrderLogMarketDepthBuilder(securityId)
Создайте построитель глубины рынка.
- securityId
- идентификатор финансового инструмента.
Возвращает: Журнал заказов для построения стакана рынка.
public abstract IUdpSettingsParser CreateParser()
result = baseUdpDialect.CreateParser()
Создайте новый экземпляр класса IUdpSettingsParser.
Возвращает: IUdpSettingsParser
protected virtual ValueTask DisconnectAsync(DisconnectMessage disconnectMsg, CancellationToken cancellationToken)
result = baseUdpDialect.DisconnectAsync(disconnectMsg, cancellationToken)
protected override void DisposeManaged()
baseUdpDialect.DisposeManaged()
Освободите ресурсы.
public virtual IEnumerable<object> GetCandleArgs(Type candleType, SecurityId securityId, DateTime? from, DateTime? to)
result = baseUdpDialect.GetCandleArgs(candleType, securityId, from, to)
public virtual IAsyncEnumerable<DataType> GetSupportedMarketDataTypesAsync(SecurityId securityId, DateTime? from, DateTime? to)
result = baseUdpDialect.GetSupportedMarketDataTypesAsync(securityId, from, to)
Получите поддержку от типов сообщений адаптера.
- securityId
- SecurityId
- from
- Дата начала запроса. Если , то будут возвращены все доступные сообщения.
- to
- Дата окончания запроса. Если , то будут возвращены все доступные сообщения.
Возвращает: Поддерживается типами рыночных данных адаптера.
public virtual bool IsAllDownloadingSupported(DataType dataType)
result = baseUdpDialect.IsAllDownloadingSupported(dataType)
Включена ли для указанного загрузка всех финансовых инструментов.
- dataType
- Информация о типе данных.
Возвращает: Проверьте результат.
public virtual bool IsSecurityRequired(DataType dataType)
result = baseUdpDialect.IsSecurityRequired(dataType)
Поддержка фильтрации подписок (подписка/отмена подписки на определенный финансовый инструмент).
- dataType
- Информация о типе данных.
Возвращает: Проверьте результат.
public virtual bool IsSupportCandlesPriceLevels(MarketDataMessage subscription)
result = baseUdpDialect.IsSupportCandlesPriceLevels(subscription)
Свечи поддержки PriceLevels.
- subscription
- MarketDataMessage
Возвращает: Проверьте результат.
public virtual bool IsSupportCandlesUpdates(MarketDataMessage subscription)
result = baseUdpDialect.IsSupportCandlesUpdates(subscription)
Поддержка подписки на свечи и живых обновлений.
- subscription
- MarketDataMessage
Возвращает: Проверьте результат.
public override void Load(SettingsStorage storage)
baseUdpDialect.Load(storage)
Загрузить настройки.
- storage
- Хранилище настроек.
public abstract void LoadSettingsFromFile(IDictionary<string, UdpFeedGroup> feeds)
baseUdpDialect.LoadSettingsFromFile(feeds)
Загрузить настройки из указанного файла.
- feeds
- Настройки UDP.
protected virtual ValueTask MarketDataAsync(MarketDataMessage mdMsg, CancellationToken cancellationToken)
result = baseUdpDialect.MarketDataAsync(mdMsg, cancellationToken)
protected virtual ValueTask OrderStatusAsync(OrderStatusMessage statusMsg, CancellationToken cancellationToken)
result = baseUdpDialect.OrderStatusAsync(statusMsg, cancellationToken)
protected virtual ValueTask PortfolioLookupAsync(PortfolioLookupMessage lookupMsg, CancellationToken cancellationToken)
result = baseUdpDialect.PortfolioLookupAsync(lookupMsg, cancellationToken)
protected virtual ValueTask RegisterOrderAsync(OrderRegisterMessage regMsg, CancellationToken cancellationToken)
result = baseUdpDialect.RegisterOrderAsync(regMsg, cancellationToken)
protected virtual ValueTask ReplaceOrderAsync(OrderReplaceMessage replaceMsg, CancellationToken cancellationToken)
result = baseUdpDialect.ReplaceOrderAsync(replaceMsg, cancellationToken)
protected virtual ValueTask ResetAsync(ResetMessage resetMsg, CancellationToken cancellationToken)
result = baseUdpDialect.ResetAsync(resetMsg, cancellationToken)
public override void Save(SettingsStorage storage)
baseUdpDialect.Save(storage)
Сохраните настройки.
- storage
- Хранилище настроек.
protected virtual ValueTask SecurityLookupAsync(SecurityLookupMessage lookupMsg, CancellationToken cancellationToken)
result = baseUdpDialect.SecurityLookupAsync(lookupMsg, cancellationToken)
public virtual ValueTask SendInMessageAsync(Message message, CancellationToken cancellationToken)
result = baseUdpDialect.SendInMessageAsync(message, cancellationToken)
Обрабатывает общее сообщение асинхронно.
- message
- Сообщение для обработки.
- cancellationToken
- CancellationToken
protected ValueTask SendOutErrorAsync(Exception error, CancellationToken cancellationToken)
result = baseUdpDialect.SendOutErrorAsync(error, cancellationToken)
Инициализируйте новое сообщение ErrorMessage и передайте его методу CancellationToken).
- error
- Подробности ошибки.
- cancellationToken
- CancellationToken
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = baseUdpDialect.SendOutMessageAsync(message, cancellationToken)
Чтобы вызвать событие NewOutMessageAsync.
- message
- Сообщение.
- cancellationToken
- CancellationToken
protected ValueTask SendSubscriptionReplyAsync(ISubscriptionMessage message, CancellationToken cancellationToken)
result = baseUdpDialect.SendSubscriptionReplyAsync(message, cancellationToken)
Отправьте SubscriptionResponseMessage.
- message
- Сообщение запроса.
- cancellationToken
- CancellationToken
protected ValueTask SendSubscriptionResultAsync(ISubscriptionMessage message, CancellationToken cancellationToken)
result = baseUdpDialect.SendSubscriptionResultAsync(message, cancellationToken)
Отправьте SubscriptionFinishedMessage или SubscriptionOnlineMessage.
- message
- Сообщение запроса.
- cancellationToken
- CancellationToken
protected virtual ValueTask TimeAsync(TimeMessage timeMsg, CancellationToken cancellationToken)
result = baseUdpDialect.TimeAsync(timeMsg, cancellationToken)
События
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
baseUdpDialect.NewOutMessageAsync += handler
Новое событие сообщения.