leaveRoom method
Implementation
Future<void> leaveRoom(
{required String endpointSocket, String? idChannel}) async {
try {
if (!_channels.containsKey(endpointSocket)) return;
if (idChannel != null) {
if (lstIdChannel[endpointSocket]?.contains(idChannel) ?? false) {
lstIdChannel[endpointSocket]!.remove(idChannel);
_sendLeaveRoom(endpointSocket, idChannel);
}
} else {
// Si no se especifica idChannel, se sale de todos los canales
for (final id in lstIdChannel[endpointSocket] ?? []) {
_sendLeaveRoom(endpointSocket, id);
}
lstIdChannel[endpointSocket]?.clear();
}
} catch (error) {
WSocketDataProvider.logDebug('_leaveRoom...error::: $error');
}
}