Session migration (#72)

* impl

* retry logic

* simulate

* pass checks

* adjust log level

* retry condition

* fix simulate scenario params

* format

* use `RTCPeerConnectionState` instead of `RTCIceConnectionState`

* adjust retry

* additional check for completer

* more logging

* fix id

* pub

* change package

* doc update

* retry tests

* format

* apply suggestions
This commit is contained in:
Hiroshi Horie
2022-01-25 00:53:18 +07:00
committed by GitHub
parent 3d37f4491d
commit 224047c31f
25 changed files with 575 additions and 275 deletions
+6 -2
View File
@@ -79,7 +79,7 @@ abstract class EventsListenable<T> extends Disposable {
Future<void> cancelAll() async {
if (_listeners.isNotEmpty) {
// Stop listening to all events
logger.fine('${objectId} cancelling ${_listeners.length} listeners(s)');
logger.finer('${objectId} cancelling ${_listeners.length} listeners(s)');
for (final listener in _listeners) {
await listener.cancel();
}
@@ -135,7 +135,11 @@ abstract class EventsListenable<T> extends Disposable {
final completer = Completer<E>();
final _cancelFunc = on<E>(
(event) => completer.complete(event),
(event) {
if (!completer.isCompleted) {
completer.complete(event);
}
},
filter: filter,
);