From 6dc9536c830443c3a94e6493948f3b0e4c2d7578 Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Tue, 25 Jan 2022 10:46:46 +0700 Subject: [PATCH] Server refreshed token (#73) --- lib/src/core/engine.dart | 4 ++++ lib/src/core/signal_client.dart | 3 +++ lib/src/internal/events.dart | 8 ++++++++ 3 files changed, 15 insertions(+) diff --git a/lib/src/core/engine.dart b/lib/src/core/engine.dart index a6e1c8e..4db8802 100644 --- a/lib/src/core/engine.dart +++ b/lib/src/core/engine.dart @@ -649,6 +649,10 @@ class Engine extends Disposable with EventsEmittable { ..on((event) => events.emit(event)) // relay to Room ..on((event) => events.emit(event)) + ..on((event) { + logger.fine('Server refreshed the token'); + token = event.token; + }) ..on((event) async { if (_connectionState == ConnectionState.reconnecting) { logger.warning( diff --git a/lib/src/core/signal_client.dart b/lib/src/core/signal_client.dart index 8e2783e..90dfa99 100644 --- a/lib/src/core/signal_client.dart +++ b/lib/src/core/signal_client.dart @@ -206,6 +206,9 @@ class SignalClient extends Disposable with EventsEmittable { allowed: msg.subscriptionPermissionUpdate.allowed, )); break; + case lk_rtc.SignalResponse_Message.refreshToken: + events.emit(SignalTokenUpdatedEvent(token: msg.refreshToken)); + break; default: logger.warning('skipping unsupported signal message'); } diff --git a/lib/src/internal/events.dart b/lib/src/internal/events.dart index d0d146d..ae191d1 100644 --- a/lib/src/internal/events.dart +++ b/lib/src/internal/events.dart @@ -231,6 +231,14 @@ class SignalSubscriptionPermissionUpdateEvent }); } +@internal +class SignalTokenUpdatedEvent with SignalEvent, InternalEvent { + final String token; + const SignalTokenUpdatedEvent({ + required this.token, + }); +} + // ---------------------------------------------------------------------- // Engine events // ----------------------------------------------------------------------