createDataChannel method
Future<DataChannel>
createDataChannel({
- required PeerConnection peerConnection,
- required String label,
- DataChannelInit? options,
override
Create a data channel
Implementation
@override
Future<DataChannel> createDataChannel({
required PeerConnection peerConnection,
required String label,
DataChannelInit? options,
}) async {
if (peerConnection is! WebPeerConnection) {
throw Exception('Invalid peer connection type');
}
final init = rtc.RTCDataChannelInit()..ordered = options?.ordered ?? true;
final maxPacketLifeTime = options?.maxPacketLifeTime;
if (maxPacketLifeTime != null) {
init.maxRetransmitTime = maxPacketLifeTime;
}
final maxRetransmits = options?.maxRetransmits;
if (maxRetransmits != null) {
init.maxRetransmits = maxRetransmits;
}
final dc = await peerConnection.rtcConnection.createDataChannel(
label,
init,
);
return WebDataChannel(dc);
}