SubscriptionOnlineManagerState

StockSharp.Algo

Default implementation of ISubscriptionOnlineManagerState.

Implements: ISubscriptionOnlineManagerState

Methods

AddAlias
public void AddAlias(long id, ISubscriptionOnlineInfo info)
subscriptionOnlineManagerState.AddAlias(id, info)

Alias a transaction onto a subscription, for replies that name an order rather than the subscription reporting it.

AddSkipSubscription
public void AddSkipSubscription(long id)
subscriptionOnlineManagerState.AddSkipSubscription(id)

Add skip subscription.

AddSubscriber
public ISubscriptionOnlineInfo AddSubscriber(ValueTuple<DataType, SecurityId> key, long subscriberId, ISubscriptionMessage request, Func<ISubscriptionMessage> createSubscription, bool isOpener)
result = subscriptionOnlineManagerState.AddSubscriber(key, subscriberId, request, createSubscription, isOpener)

Record that a subscriber holds the shared subscription of a data type and security, opening it when it is the first to ask.

key
Data type and security the subscription carries.
subscriberId
Transaction the subscriber asked under.
request
What this subscriber asked for.
createSubscription
Builds the subscription to send upstream, for a new one.
isOpener
when this subscriber opened it and the request has to go upstream.

Returns: The subscription, or when this subscriber already holds one.

AddUnsubscribeRequest
public void AddUnsubscribeRequest(long id)
subscriptionOnlineManagerState.AddUnsubscribeRequest(id)

Add unsubscribe request.

Clear
public void Clear()
subscriptionOnlineManagerState.Clear()

Clear all state, including the ids of subscriptions that ended with the connection.

ContainsSkipSubscription
public bool ContainsSkipSubscription(long id)
result = subscriptionOnlineManagerState.ContainsSkipSubscription(id)

Check if contains skip subscription.

ContainsSubscriptionById
public bool ContainsSubscriptionById(long id)
result = subscriptionOnlineManagerState.ContainsSubscriptionById(id)

Check whether a transaction names a subscriber or an alias.

ContainsUnsubscribeRequest
public bool ContainsUnsubscribeRequest(long id)
result = subscriptionOnlineManagerState.ContainsUnsubscribeRequest(id)

Check if contains unsubscribe request.

CreateLinkedSubscriptionInfo
public ISubscriptionOnlineInfo CreateLinkedSubscriptionInfo(ISubscriptionOnlineInfo main)
result = subscriptionOnlineManagerState.CreateLinkedSubscriptionInfo(main)

Create a linked view onto a subscription, for routing replies that name something else.

DiscardSubscription
public void DiscardSubscription(ISubscriptionOnlineInfo info)
subscriptionOnlineManagerState.DiscardSubscription(info)

Give a subscription up entirely, subscribers and aliases with it.

EndWithConnection
public void EndWithConnection()
subscriptionOnlineManagerState.EndWithConnection()

Forget every subscription because the connection ended, remembering the ids that held them until the connection ends again, so that an unsubscribe already on its way can still be answered.

RemoveAlias
public void RemoveAlias(long id)
subscriptionOnlineManagerState.RemoveAlias(id)

Drop an alias.

RemoveEndedWithConnection
public bool RemoveEndedWithConnection(long id)
result = subscriptionOnlineManagerState.RemoveEndedWithConnection(id)

Forget one id that held a subscription when the connection ended.

id
The id.

Returns: if the id held a subscription that ended with the connection.

RemoveSkipSubscription
public bool RemoveSkipSubscription(long id)
result = subscriptionOnlineManagerState.RemoveSkipSubscription(id)

Remove skip subscription.

RemoveSubscriber
public bool RemoveSubscriber(long subscriberId, ISubscriptionOnlineInfo info, bool wasLast)
result = subscriptionOnlineManagerState.RemoveSubscriber(subscriberId, info, wasLast)

Drop one subscriber.

subscriberId
Transaction the subscriber asked under.
info
What it was holding.
wasLast
when it was the last holder and the subscription has to be given up upstream.

Returns: when it held anything.

StopSubscription
public void StopSubscription(ISubscriptionOnlineInfo info)
subscriptionOnlineManagerState.StopSubscription(info)

Stop a subscription being joined, while the subscribers it still has keep being answered.

TryGetAndRemoveSubscriber
public bool TryGetAndRemoveSubscriber(long id, ISubscriptionOnlineInfo info)
result = subscriptionOnlineManagerState.TryGetAndRemoveSubscriber(id, info)

Drop a subscriber and report what it was holding, for one whose subscription was refused.

TryGetSubscriptionById
public bool TryGetSubscriptionById(long id, ISubscriptionOnlineInfo info)
result = subscriptionOnlineManagerState.TryGetSubscriptionById(id, info)

Try get a subscription by a subscriber's transaction or by an alias.

TryGetSubscriptionByKey
public bool TryGetSubscriptionByKey(ValueTuple<DataType, SecurityId> key, ISubscriptionOnlineInfo info)
result = subscriptionOnlineManagerState.TryGetSubscriptionByKey(key, info)

Try get the shared subscription of a data type and security.