ConnectorSubscriptionManager
Manages subscriptions and their lifecycle.
Constructors
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
public ConnectionStates ConnectionState { get; set; }
value = connectorSubscriptionManager.ConnectionState
connectorSubscriptionManager.ConnectionState = value
Current connection state.
public bool IsRestoreSubscriptionOnNormalReconnect { get; set; }
value = connectorSubscriptionManager.IsRestoreSubscriptionOnNormalReconnect
connectorSubscriptionManager.IsRestoreSubscriptionOnNormalReconnect = value
Restore subscription on reconnect.
public bool SendUnsubscribeWhenDisconnected { get; }
value = connectorSubscriptionManager.SendUnsubscribeWhenDisconnected
Indicates whether to send unsubscribe requests while disconnected.
public IEnumerable<Subscription> Subscriptions { get; }
value = connectorSubscriptionManager.Subscriptions
Current subscriptions snapshot.
public CachedSynchronizedSet<Subscription> SubscriptionsOnConnect { get; }
value = connectorSubscriptionManager.SubscriptionsOnConnect
Send subscriptions on connect.
public IdGenerator TransactionIdGenerator { get; set; }
value = connectorSubscriptionManager.TransactionIdGenerator
connectorSubscriptionManager.TransactionIdGenerator = value
Transaction id generator.
Methods
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.
public IEnumerable<Subscription> GetSubscriptions(ISubscriptionIdMessage message)
result = connectorSubscriptionManager.GetSubscriptions(message)
Resolve subscriptions for the specified message.
- message
- Message with subscription ids.
Returns: Subscriptions.
public Actions HandleConnected(Subscription[] subscriptions)
result = connectorSubscriptionManager.HandleConnected(subscriptions)
Handle connection event and restore subscriptions as needed.
- subscriptions
- Default subscriptions.
Returns: Actions to apply.
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.
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.
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.
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.
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.
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.
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 .
public Actions UnSubscribe(Subscription subscription)
result = connectorSubscriptionManager.UnSubscribe(subscription)
Send an unsubscribe request.
- subscription
- Subscription.
Returns: Actions to apply.
public Actions UnSubscribeAll()
result = connectorSubscriptionManager.UnSubscribeAll()
Unsubscribe all active subscriptions.
Returns: Actions to apply.
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.