unsubscribe method

Future<void> unsubscribe(
  1. int subscriptionId
)

This unsubscribes the session from a subscription. Use the Subscribed.subscriptionId to unsubscribe.

Implementation

Future<void> unsubscribe(int subscriptionId) async {
  var unsubscribe = Unsubscribe(nextUnsubscribeId++, subscriptionId);
  _transport.send(unsubscribe);
  await _openSessionStreamController.stream.where((message) {
    if (message is Unsubscribed &&
        message.unsubscribeRequestId == unsubscribe.requestId) {
      return true;
    }
    if (message is Error &&
        message.requestTypeId == MessageTypes.codeUnsubscribe &&
        message.requestId == unsubscribe.requestId) {
      throw message;
    }
    return false;
  }).first;
  subscriptions.remove(subscriptionId);
}