onStateChange method
void
onStateChange(
)
override
Implementation
@override
void onStateChange() {
final msgState = connection.getControlMsgState();
final dataState = connection.getControlDataState();
print('[DataChannelObserver~${connection.connectionId}] onStateChange: msgState=$msgState, dataState=$dataState');
if (msgState == RTCDataChannelState.RTCDataChannelOpen) {
WebrtcManager.availableConnections.add(connection);
if (WebrtcManager.availableConnections.length == 1 && WebrtcManager._currentSelectedConnection == null) {
WebrtcManager._currentSelectedConnection = connection;
print('onStateChange Auto-selected device: ${connection.remoteDeviceId}');
}
} else if (msgState == RTCDataChannelState.RTCDataChannelClosed) {
print('RTCDataChannelClosed');
WebrtcManager.availableConnections.clear();
WebrtcManager.localOfferConnections.clear();
WebrtcManager.remoteSdpConnections.clear();
}
}