start method
Future<void>
start(
{ - void onDone()?,
- void onError(
- Object? error
)?,
})
Implementation
Future<void> start({void Function()? onDone, void Function(Object? error)? onError}) async {
protocol.start(
onDone: () {
final error = RoomServerException("room connection closed before request completed");
_failPendingRequests(error);
if (!_ready.isCompleted) {
_ready.completeError(error);
}
if (onDone != null) {
onDone();
}
},
onError: (error) {
final wrapped = RoomServerException("room connection error: $error");
_failPendingRequests(wrapped);
if (!_ready.isCompleted) {
_ready.completeError(wrapped);
}
if (onError != null) {
onError(error);
}
},
);
sync.start();
await ready;
}