unsubscribe method
Unsubscribes from a Redis channel.
The returned future does not complete until Redis has confirmed that the subscription is gone.
Implementation
Future<bool> unsubscribe(
String channel,
) async {
var pending = _PendingConfirmation(_pendingUnsubscribes, channel);
try {
if (!await _connectPubSub()) return pending.complete(false);
_subscriptions.remove(channel);
_pubSub!.unsubscribe([channel]);
return await pending.confirmed.timeout(
_subscriptionConfirmationTimeout,
onTimeout: () {
_invalidatePubSub();
return pending.complete(false);
},
);
} catch (e) {
_invalidatePubSub();
return pending.complete(false);
}
}