SubscriptionOnlineManagerState
ISubscriptionOnlineManagerState的默认执行.
实现: ISubscriptionOnlineManagerState
方法
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.
public void AddSkipSubscription(long id)
subscriptionOnlineManagerState.AddSkipSubscription(id)
添加跳过订阅 。
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.
返回值: The subscription, or when this subscriber already holds one.
public void AddUnsubscribeRequest(long id)
subscriptionOnlineManagerState.AddUnsubscribeRequest(id)
添加未订阅请求 。
public bool ContainsSkipSubscription(long id)
result = subscriptionOnlineManagerState.ContainsSkipSubscription(id)
检查是否包含跳过订阅 。
public bool ContainsSubscriptionById(long id)
result = subscriptionOnlineManagerState.ContainsSubscriptionById(id)
检查是否包含ID订阅 。
public bool ContainsUnsubscribeRequest(long id)
result = subscriptionOnlineManagerState.ContainsUnsubscribeRequest(id)
检查是否包含未订阅请求 。
public ISubscriptionOnlineInfo CreateLinkedSubscriptionInfo(ISubscriptionOnlineInfo main)
result = subscriptionOnlineManagerState.CreateLinkedSubscriptionInfo(main)
创建链接的订阅信息 。
public void DiscardSubscription(ISubscriptionOnlineInfo info)
subscriptionOnlineManagerState.DiscardSubscription(info)
Give a subscription up entirely, subscribers and aliases with it.
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.
public void RemoveAlias(long id)
subscriptionOnlineManagerState.RemoveAlias(id)
Drop an alias.
public bool RemoveEndedWithConnection(long id)
result = subscriptionOnlineManagerState.RemoveEndedWithConnection(id)
Forget one id that held a subscription when the connection ended.
- id
- The id.
返回值: if the id held a subscription that ended with the connection.
public bool RemoveSkipSubscription(long id)
result = subscriptionOnlineManagerState.RemoveSkipSubscription(id)
删除跳过订阅 。
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.
返回值: when it held anything.
public void StopSubscription(ISubscriptionOnlineInfo info)
subscriptionOnlineManagerState.StopSubscription(info)
Stop a subscription being joined, while the subscribers it still has keep being answered.
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.
public bool TryGetSubscriptionById(long id, ISubscriptionOnlineInfo info)
result = subscriptionOnlineManagerState.TryGetSubscriptionById(id, info)
尝试通过ID获得订阅.
public bool TryGetSubscriptionByKey(ValueTuple<DataType, SecurityId> key, ISubscriptionOnlineInfo info)
result = subscriptionOnlineManagerState.TryGetSubscriptionByKey(key, info)
尝试按键订阅 。