initializeDataChannel method

  1. @override
Future<void> initializeDataChannel(
  1. RTCDataChannel dc
)
override

Implementation

@override
Future<void> initializeDataChannel(RTCDataChannel dc) async {
  dataChannel = dc;
  dataChannel?.onDataChannelState = (state) async {
    switch (state) {
      case RTCDataChannelState.RTCDataChannelOpen:
        logger.log('DC#$connectionId dc connection success');
        open = true;
        await updateMaximumMessageSize();
        emit('open');
        break;
      case RTCDataChannelState.RTCDataChannelClosed:
        logger.log('DC#$connectionId dc closed for: $peer');
        close();
        break;
      default:
        // Handle other states if needed
        break;
    }
  };

  dataChannel?.onMessage = (RTCDataChannelMessage message) {
    logger.log('DC#$connectionId dc onmessage: ${message.text}');
    _handleDataMessage(message.text);
  };
}