Enqueue Signal requests while reconnecting (#81)

* implement queue to events emitter

* check `isDisposed` instead

* update message

* implement queue to events emitter

* update lock

* impl
This commit is contained in:
Hiroshi Horie
2022-03-02 08:14:23 +09:00
committed by GitHub
parent da8fe67ec6
commit 811ded7aa6
2 changed files with 62 additions and 10 deletions
+3
View File
@@ -545,12 +545,15 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
if (_connectionState == ConnectionState.connected) {
if (didReconnect) {
events.emit(const EngineReconnectedEvent());
// send queued requests if engine re-connected
signalClient.sendQueuedRequests();
} else {
events.emit(const EngineConnectedEvent());
}
} else if (_connectionState == ConnectionState.reconnecting) {
events.emit(const EngineReconnectingEvent());
} else if (_connectionState == ConnectionState.disconnected) {
signalClient.cleanUp();
events.emit(const EngineDisconnectedEvent());
}
}