Skip to content

Commit

Permalink
Cancel refresh timer
Browse files Browse the repository at this point in the history
  • Loading branch information
PlugFox committed Jul 28, 2023
1 parent 7d8f715 commit 2b6eaae
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion lib/src/subscription/client_subscription_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ base mixin CentrifugeClientSubscriptionSubscribeMixin
return await ready();
}
_setState(CentrifugeSubscriptionState$Subscribing(since: state.since));
_refreshTimer?.cancel();
_refreshTimer = null;
final subscribed = await _transport.subscribe(
channel,
_config,
Expand Down Expand Up @@ -275,6 +277,8 @@ base mixin CentrifugeClientSubscriptionSubscribeMixin
@override
Future<void> unsubscribe(
[int code = 0, String reason = 'unsubscribe called']) async {
_refreshTimer?.cancel();
_refreshTimer = null;
if (state.isUnsubscribed) return;
_setState(CentrifugeSubscriptionState.unsubscribed(
code: code,
Expand Down Expand Up @@ -318,7 +322,7 @@ base mixin CentrifugeClientSubscriptionSubscribeMixin
_refreshTimer?.cancel();
_refreshTimer = null;
final token = await _config.getToken?.call();
if (token == null) return;
if (token == null || !state.isSubscribed) return;
final result = await _transport.sendSubRefresh(channel, token);
if (result.expires) _setRefreshTimer(result.ttl);
});
Expand Down

0 comments on commit 2b6eaae

Please sign in to comment.