getSid method
server assigned unique room id. returns once a sid has been issued by the server.
Implementation
Future<String> getSid() async {
if (engine.connectionState == ConnectionState.disconnected) {
return '';
}
if (_roomInfo != null && _roomInfo!.sid.isNotEmpty) {
return _roomInfo!.sid;
}
final completer = Completer<String>();
events.on<SignalRoomUpdateEvent>((event) {
if (event.room.sid.isNotEmpty && !completer.isCompleted) {
completer.complete(event.room.sid);
}
});
events.once<RoomDisconnectedEvent>((event) {
if (!completer.isCompleted) {
completer.complete('');
}
});
return completer.future;
}