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 void Clear()
subscriptionOnlineManagerState.Clear()
すべてのアダプターの状態をクリアし、接続解除に現在の状態をリセットします。
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)
鍵でサブスクリプションを入手してください。