BaseUdpDialect
The base class describing the dialect of the UDP protocol.
Inherits: BaseLogReceiver
Implements: IUdpDialect, IMessageAdapter, IMessageTransport, IPersistable, ILogReceiver, ILogSource, IDisposable, ICloneable<IMessageAdapter>, ICloneable
Constructors
protected BaseUdpDialect()
baseUdpDialect = BaseUdpDialect()
Initializes a new instance of the BaseUdpDialect class.
Properties
public string[] AssociatedBoards { get; }
value = baseUdpDialect.AssociatedBoards
The adapter can process subscription only with instruments associated with the specified board.
public virtual IEnumerable<Level1Fields> CandlesBuildFrom { get; }
value = baseUdpDialect.CandlesBuildFrom
Possible options for candles building.
public virtual MessageAdapterCategories Categories { get; }
value = baseUdpDialect.Categories
Message adapter categories.
public virtual bool CheckTimeFrameByRequest { get; }
value = baseUdpDialect.CheckTimeFrameByRequest
Check possible time-frame by request.
public virtual TimeSpan DisconnectTimeout { get; }
value = baseUdpDialect.DisconnectTimeout
Gets the timeout to wait for a graceful disconnect.
public bool DumpPacketOnError { get; set; }
value = baseUdpDialect.DumpPacketOnError
baseUdpDialect.DumpPacketOnError = value
When true, logs the full UDP packet payload as Base64 when processing fails. Intended for diagnostics/deserialization of problematic packets.
public virtual bool EnqueueSubscriptions { get; set; }
value = baseUdpDialect.EnqueueSubscriptions
baseUdpDialect.EnqueueSubscriptions = value
Enqueue subscriptions.
public virtual bool ExtraSetup { get; }
value = baseUdpDialect.ExtraSetup
The adapter requires extra setup.
public TimeSpan FaultDelay { get; set; }
value = baseUdpDialect.FaultDelay
baseUdpDialect.FaultDelay = value
Gets or sets the delay applied between faulted iterations.
public virtual string FeatureName { get; }
value = baseUdpDialect.FeatureName
Feature name.
protected int HeartbeatMls { get; }
value = baseUdpDialect.HeartbeatMls
Heartbeat interval in milliseconds.
public virtual bool IsAutoReplyOnTransactonalUnsubscription { get; }
value = baseUdpDialect.IsAutoReplyOnTransactonalUnsubscription
Send auto response for OrderStatusMessage and PortfolioLookupMessage unsubscribes.
public virtual bool IsFullCandlesOnly { get; }
value = baseUdpDialect.IsFullCandlesOnly
Translates CandleMessage as only fully filled.
public virtual bool IsNativeIdentifiers { get; }
value = baseUdpDialect.IsNativeIdentifiers
Identify security in messages by native identifier Native.
public virtual bool IsNativeIdentifiersPersistable { get; }
value = baseUdpDialect.IsNativeIdentifiersPersistable
Native identifier can be stored.
public virtual bool? IsPositionsEmulationRequired { get; }
value = baseUdpDialect.IsPositionsEmulationRequired
Adapter required emulation PositionChangeMessage.
public virtual bool IsReplaceCommandEditCurrent { get; }
value = baseUdpDialect.IsReplaceCommandEditCurrent
Is the OrderReplaceMessage command edit a current order.
public virtual bool IsSecurityNewsOnly { get; }
value = baseUdpDialect.IsSecurityNewsOnly
Adapter provides news related with specified security.
public virtual bool IsSupportExecutionsPnL { get; }
value = baseUdpDialect.IsSupportExecutionsPnL
Adapter fills PnL.
public virtual bool IsSupportOrderBookIncrements { get; }
value = baseUdpDialect.IsSupportOrderBookIncrements
Adapter translates incremental order books.
public virtual bool IsSupportSubscriptions { get; }
value = baseUdpDialect.IsSupportSubscriptions
Support any subscriptions (ticks, order books etc.).
public virtual bool IsSupportTransactionLog { get; }
value = baseUdpDialect.IsSupportTransactionLog
Adapter translates orders changes on reply of OrderStatusMessage.
public virtual TimeSpan IterationInterval { get; }
value = baseUdpDialect.IterationInterval
Interval between iterations.
public virtual TimeSpan? LookupTimeout { get; set; }
value = baseUdpDialect.LookupTimeout
baseUdpDialect.LookupTimeout = value
Lookup timeout.
public int MaxIncomingQueueSize { get; set; }
value = baseUdpDialect.MaxIncomingQueueSize
baseUdpDialect.MaxIncomingQueueSize = value
Maximum buffered incoming UDP packets per feed before new packets are dropped.
public int MaxIncrementalWrongOrder { get; set; }
value = baseUdpDialect.MaxIncrementalWrongOrder
baseUdpDialect.MaxIncrementalWrongOrder = value
Max incremental messages with wrong order before recovering start.
public int MaxParallelMessages { get; set; }
value = baseUdpDialect.MaxParallelMessages
baseUdpDialect.MaxParallelMessages = value
Gets or sets the maximum number of parallel (non-control) messages that can be processed. Must be greater than or equal to1.
public int MaxRestoreCount { get; set; }
value = baseUdpDialect.MaxRestoreCount
baseUdpDialect.MaxRestoreCount = value
Max message count that can be restored.
public int MaxRestores { get; set; }
value = baseUdpDialect.MaxRestores
baseUdpDialect.MaxRestores = value
Max possible restores.
public int MaxSuspended { get; set; }
value = baseUdpDialect.MaxSuspended
baseUdpDialect.MaxSuspended = value
Max suspended messages.
public int MaxUdpDatagramSize { get; set; }
value = baseUdpDialect.MaxUdpDatagramSize
baseUdpDialect.MaxUdpDatagramSize = value
Maximum UDP datagram size.
public virtual Type OrderConditionType { get; }
value = baseUdpDialect.OrderConditionType
Type of OrderCondition.
public virtual IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; }
value = baseUdpDialect.PossibleSupportedMessages
Possible supported by adapter message types.
public virtual IEnumerable<ValueTuple<string, Type>> SecurityExtendedFields { get; }
value = baseUdpDialect.SecurityExtendedFields
Names of extended security fields in SecurityMessage.
public virtual string StorageName { get; }
value = baseUdpDialect.StorageName
The storage name, associated with the adapter.
public virtual IEnumerable<int> SupportedOrderBookDepths { get; }
value = baseUdpDialect.SupportedOrderBookDepths
Available options for MaxDepth.
public virtual bool UseInChannel { get; }
value = baseUdpDialect.UseInChannel
Use channels for in messages.
public virtual bool UseOutChannel { get; }
value = baseUdpDialect.UseOutChannel
Use channels for out messages.
public bool UseUdpResnapshot { get; set; }
value = baseUdpDialect.UseUdpResnapshot
baseUdpDialect.UseUdpResnapshot = value
Use UDP re-snapshot instead of TCP replay for restoring gaps.
Methods
public IMemoryOwner<byte> AllocatePacket(ILogReceiver logs, int size)
result = baseUdpDialect.AllocatePacket(logs, size)
To allocate a packet of the specified size.
- logs
- The log receiver to log information about memory pool status.
- size
- The size of the packet to allocate.
Returns: The packet.
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()
Creates a deep copy of a DataSeries
protected virtual ValueTask ConnectAsync(ConnectMessage connectMsg, CancellationToken cancellationToken)
result = baseUdpDialect.ConnectAsync(connectMsg, cancellationToken)
public virtual IOrderLogMarketDepthBuilder CreateOrderLogMarketDepthBuilder(SecurityId securityId)
result = baseUdpDialect.CreateOrderLogMarketDepthBuilder(securityId)
Create market depth builder.
- securityId
- Security ID.
Returns: Order log to market depth builder.
public abstract IUdpSettingsParser CreateParser()
result = baseUdpDialect.CreateParser()
Create a new instance of the IUdpSettingsParser class.
Returns: IUdpSettingsParser
protected virtual ValueTask DisconnectAsync(DisconnectMessage disconnectMsg, CancellationToken cancellationToken)
result = baseUdpDialect.DisconnectAsync(disconnectMsg, cancellationToken)
protected override void DisposeManaged()
baseUdpDialect.DisposeManaged()
Release resources.
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)
Get supported by adapter message types.
- securityId
- SecurityId
- from
- Start date for request. If , then all available messages will be returned.
- to
- End date for request. If , then all available messages will be returned.
Returns: Supported by adapter market data types.
public virtual bool IsAllDownloadingSupported(DataType dataType)
result = baseUdpDialect.IsAllDownloadingSupported(dataType)
Is for the specified all securities downloading enabled.
- dataType
- Data type info.
Returns: Check result.
public virtual bool IsSecurityRequired(DataType dataType)
result = baseUdpDialect.IsSecurityRequired(dataType)
Support filtering subscriptions (subscribe/unsubscribe for specified security).
- dataType
- Data type info.
Returns: Check result.
public virtual bool IsSupportCandlesPriceLevels(MarketDataMessage subscription)
result = baseUdpDialect.IsSupportCandlesPriceLevels(subscription)
Support candles PriceLevels.
- subscription
- MarketDataMessage
Returns: Check result.
public virtual bool IsSupportCandlesUpdates(MarketDataMessage subscription)
result = baseUdpDialect.IsSupportCandlesUpdates(subscription)
Support candles subscription and live updates.
- subscription
- MarketDataMessage
Returns: Check result.
public override void Load(SettingsStorage storage)
baseUdpDialect.Load(storage)
Load settings.
- storage
- Settings storage.
public abstract void LoadSettingsFromFile(IDictionary<string, UdpFeedGroup> feeds)
baseUdpDialect.LoadSettingsFromFile(feeds)
Load settings from specified file.
- feeds
- UDP settings.
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)
Save settings.
- storage
- Settings 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)
Processes a generic message asynchronously.
- message
- The message to process.
- cancellationToken
- CancellationToken
protected ValueTask SendOutErrorAsync(Exception error, CancellationToken cancellationToken)
result = baseUdpDialect.SendOutErrorAsync(error, cancellationToken)
Initialize a new message ErrorMessage and pass it to the method CancellationToken).
- error
- Error details.
- cancellationToken
- CancellationToken
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = baseUdpDialect.SendOutMessageAsync(message, cancellationToken)
To call the event NewOutMessageAsync.
- message
- The message.
- cancellationToken
- CancellationToken
protected ValueTask SendSubscriptionReplyAsync(ISubscriptionMessage message, CancellationToken cancellationToken)
result = baseUdpDialect.SendSubscriptionReplyAsync(message, cancellationToken)
Send SubscriptionResponseMessage.
- message
- The request message.
- cancellationToken
- CancellationToken
protected ValueTask SendSubscriptionResultAsync(ISubscriptionMessage message, CancellationToken cancellationToken)
result = baseUdpDialect.SendSubscriptionResultAsync(message, cancellationToken)
Send SubscriptionFinishedMessage or SubscriptionOnlineMessage.
- message
- The request message.
- cancellationToken
- CancellationToken
protected virtual ValueTask TimeAsync(TimeMessage timeMsg, CancellationToken cancellationToken)
result = baseUdpDialect.TimeAsync(timeMsg, cancellationToken)
Events
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
baseUdpDialect.NewOutMessageAsync += handler
New message event.