ConnectorSubscriptionManager

StockSharp.Algo

Manages subscriptions and their lifecycle.

Constructors

ConnectorSubscriptionManager
public ConnectorSubscriptionManager(ILogReceiver logReceiver, IdGenerator transactionIdGenerator, bool sendUnsubscribeWhenDisconnected)
connectorSubscriptionManager = ConnectorSubscriptionManager(logReceiver, transactionIdGenerator, sendUnsubscribeWhenDisconnected)

Manages subscriptions and their lifecycle.

logReceiver
Log receiver.
transactionIdGenerator
Transaction id generator.
sendUnsubscribeWhenDisconnected
Indicates whether to send unsubscribe requests while disconnected.

Properties

ConnectionState
public ConnectionStates ConnectionState { get; set; }
value = connectorSubscriptionManager.ConnectionState
connectorSubscriptionManager.ConnectionState = value

Current connection state.

IsRestoreSubscriptionOnNormalReconnect
public bool IsRestoreSubscriptionOnNormalReconnect { get; set; }
value = connectorSubscriptionManager.IsRestoreSubscriptionOnNormalReconnect
connectorSubscriptionManager.IsRestoreSubscriptionOnNormalReconnect = value

Restore subscription on reconnect.

SendUnsubscribeWhenDisconnected
public bool SendUnsubscribeWhenDisconnected { get; }
value = connectorSubscriptionManager.SendUnsubscribeWhenDisconnected

Indicates whether to send unsubscribe requests while disconnected.

Subscriptions
public IEnumerable<Subscription> Subscriptions { get; }
value = connectorSubscriptionManager.Subscriptions

Current subscriptions snapshot.

SubscriptionsOnConnect
public CachedSynchronizedSet<Subscription> SubscriptionsOnConnect { get; }
value = connectorSubscriptionManager.SubscriptionsOnConnect

Send subscriptions on connect.

TransactionIdGenerator
public IdGenerator TransactionIdGenerator { get; set; }
value = connectorSubscriptionManager.TransactionIdGenerator
connectorSubscriptionManager.TransactionIdGenerator = value

Transaction id generator.

Methods

ClearCache
public void ClearCache()
connectorSubscriptionManager.ClearCache()

Clear internal state.

GetSubscribers
public IEnumerable<SecurityId> GetSubscribers(DataType dataType)
result = connectorSubscriptionManager.GetSubscribers(dataType)

Get securities that have active subscriptions for the specified data type.

dataType
Data type.

Returns: Securities with active subscriptions.

GetSubscriptions
public IEnumerable<Subscription> GetSubscriptions(ISubscriptionIdMessage message)
result = connectorSubscriptionManager.GetSubscriptions(message)

Resolve subscriptions for the specified message.

message
Message with subscription ids.

Returns: Subscriptions.

HandleConnected
public Actions HandleConnected(Subscription[] subscriptions)
result = connectorSubscriptionManager.HandleConnected(subscriptions)

Handle connection event and restore subscriptions as needed.

subscriptions
Default subscriptions.

Returns: Actions to apply.

HandleConnected
public Actions HandleConnected(Func<Subscription, bool> subscriptionFilter)
result = connectorSubscriptionManager.HandleConnected(subscriptionFilter)

Handle connection event and restore subscriptions as needed.

subscriptionFilter
Filter for SubscriptionsOnConnect.

Returns: Actions to apply.

ProcessLookupResponse``1
public IEnumerable<Subscription> ProcessLookupResponse<T>(ISubscriptionIdMessage message, T item)
result = connectorSubscriptionManager.ProcessLookupResponse(message, item)

Process a lookup response item.

message
Lookup message.
item
Lookup item.

Returns: Subscriptions that received the item.

ProcessResponse
public Subscription ProcessResponse(SubscriptionResponseMessage response, ISubscriptionMessage originalMsg, bool unexpectedCancelled, Object[] items)
result = connectorSubscriptionManager.ProcessResponse(response, originalMsg, unexpectedCancelled, items)

Process a subscription response message.

response
Response message.
originalMsg
Original subscription request.
unexpectedCancelled
Indicates that active subscription was canceled due to error.
items
Collected lookup items.

Returns: Subscription instance.

ProcessSubscriptionFinishedMessage
public Subscription ProcessSubscriptionFinishedMessage(SubscriptionFinishedMessage message, Object[] items)
result = connectorSubscriptionManager.ProcessSubscriptionFinishedMessage(message, items)

Process a subscription finished message.

message
Finished message.
items
Collected lookup items.

Returns: Subscription instance.

ProcessSubscriptionOnlineMessage
public Subscription ProcessSubscriptionOnlineMessage(SubscriptionOnlineMessage message, Object[] items)
result = connectorSubscriptionManager.ProcessSubscriptionOnlineMessage(message, items)

Process a subscription online message.

message
Online message.
items
Collected lookup items.

Returns: Subscription instance.

Subscribe
public Actions Subscribe(Subscription subscription, bool isAllExtension)
result = connectorSubscriptionManager.Subscribe(subscription, isAllExtension)

Send a subscription request.

subscription
Subscription.
isAllExtension
Indicates "all securities" extension.

Returns: Actions to apply.

TryGetSubscription
public Subscription TryGetSubscription(long id, bool ignoreAll, bool remove, DateTime? time)
result = connectorSubscriptionManager.TryGetSubscription(id, ignoreAll, remove, time)

Try get subscription by id.

id
Subscription id.
ignoreAll
Ignore "all securities" mapping.
remove
Remove from cache.
time
Optional server time.

Returns: Subscription or .

UnSubscribe
public Actions UnSubscribe(Subscription subscription)
result = connectorSubscriptionManager.UnSubscribe(subscription)

Send an unsubscribe request.

subscription
Subscription.

Returns: Actions to apply.

UnSubscribeAll
public Actions UnSubscribeAll()
result = connectorSubscriptionManager.UnSubscribeAll()

Unsubscribe all active subscriptions.

Returns: Actions to apply.

UpdateCandles
public IEnumerable<ValueTuple<Subscription, ICandleMessage>> UpdateCandles(CandleMessage message)
result = connectorSubscriptionManager.UpdateCandles(message)

Update candles for subscriptions and return updated results.

message
Candle message.

Returns: Updated subscriptions with candles.