Room constructor
Room({
- ConnectOptions? connectOptions,
- RoomOptions? roomOptions,
- Engine? engine,
Implementation
Room({
ConnectOptions? connectOptions,
RoomOptions? roomOptions,
Engine? engine,
}) : _connectOptions = connectOptions,
_roomOptions = roomOptions,
engine = engine ?? Engine() {
_engineListener = this.engine.createListener();
_setUpEngineListeners();
_signalListener = this.engine.signalClient.createListener();
_setUpSignalListeners();
// Any event emitted will trigger ChangeNotifier
events.listen((event) {
logger.fine('[RoomEvent] $event, will notifyListeners()');
notifyListeners();
});
onDispose(() async {
// clean up routine
await _cleanUp();
// dispose events
await events.dispose();
// dispose local participant
await localParticipant?.dispose();
// dispose all listeners for SignalClient
await _signalListener.dispose();
// dispose all listeners for Engine
await _engineListener.dispose();
// dispose the engine
await this.engine.dispose();
});
}