BufferMessageAdapter

StockSharp.Algo.Storages

Buffered message adapter.

Inherits: MessageAdapterWrapper

Constructors

BufferMessageAdapter
public BufferMessageAdapter(IMessageAdapter innerAdapter, StorageCoreSettings settings, IStorageBuffer buffer, ISnapshotRegistry snapshotRegistry)
bufferMessageAdapter = BufferMessageAdapter(innerAdapter, settings, buffer, snapshotRegistry)

Buffered message adapter.

innerAdapter
Underlying adapter.
settings
Storage settings.
buffer
Storage buffer.
snapshotRegistry
Snapshot storage registry.

Properties

Buffer
public IStorageBuffer Buffer { get; }
value = bufferMessageAdapter.Buffer

Storage buffer.

DroppedPendingReplayMessages
public long DroppedPendingReplayMessages { get; }
value = bufferMessageAdapter.DroppedPendingReplayMessages

Number of early live messages dropped while an inner adapter delayed the subscription state.

Settings
public StorageCoreSettings Settings { get; }
value = bufferMessageAdapter.Settings

Storage settings.

SnapshotRegistry
public ISnapshotRegistry SnapshotRegistry { get; }
value = bufferMessageAdapter.SnapshotRegistry

Snapshot storage registry.

Methods

CloneAsync
public override ValueTask<IMessageAdapter> CloneAsync(CancellationToken cancellationToken)
result = bufferMessageAdapter.CloneAsync(cancellationToken)

Create a copy of BufferMessageAdapter.

cancellationToken
CancellationToken

Returns: Copy.

Dispose
public override void Dispose()
bufferMessageAdapter.Dispose()

Disposes of items in the pool that implement IDisposable.

FlushAsync
private ValueTask FlushAsync(CancellationToken cancellationToken)
result = bufferMessageAdapter.FlushAsync(cancellationToken)

Write out everything the buffer holds right now.

OnInnerAdapterNewOutMessageAsync
protected override ValueTask OnInnerAdapterNewOutMessageAsync(Message message, CancellationToken cancellationToken)
result = bufferMessageAdapter.OnInnerAdapterNewOutMessageAsync(message, cancellationToken)

Process InnerAdapter output message.

message
The message.
cancellationToken
Cancellation token.
OnSendInMessageAsync
protected override ValueTask OnSendInMessageAsync(Message message, CancellationToken cancellationToken)
result = bufferMessageAdapter.OnSendInMessageAsync(message, cancellationToken)

Send message.

message
Message.
cancellationToken
CancellationToken
ProcessOrderStatusAsync
private ValueTask ProcessOrderStatusAsync(OrderStatusMessage message, CancellationToken cancellationToken)
result = bufferMessageAdapter.ProcessOrderStatusAsync(message, cancellationToken)

Process OrderStatusMessage: serve what storage holds for it, then either pass the request on or close the subscription here.

message
A message requesting current registered orders and trades.
cancellationToken
CancellationToken
Reset
private void Reset()
bufferMessageAdapter.Reset()

To reset the state.

StartStorageTimer
private void StartStorageTimer()
bufferMessageAdapter.StartStorageTimer()

Start storage auto-save thread.

StopStorageTimer
private bool StopStorageTimer()
result = bufferMessageAdapter.StopStorageTimer()

Stop the storage auto-save thread.

Returns: if it was running.