From 8a3eb30dbd2b32bb58993030f6497e23f2a67d4d Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Tue, 1 Mar 2022 12:02:31 +0900 Subject: [PATCH] dc private methods --- lib/src/core/engine.dart | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/src/core/engine.dart b/lib/src/core/engine.dart index bcc4f4f..79e99e2 100644 --- a/lib/src/core/engine.dart +++ b/lib/src/core/engine.dart @@ -207,14 +207,6 @@ class Engine extends Disposable with EventsEmittable { lk_models.DataPacket packet, ) async { // - rtc.RTCDataChannel? publisherDataChannel(Reliability reliability) => - reliability == Reliability.reliable ? _reliableDCPub : _lossyDCPub; - - rtc.RTCDataChannelState publisherDataChannelState( - Reliability reliability) => - publisherDataChannel(reliability)?.state ?? - rtc.RTCDataChannelState.RTCDataChannelClosed; - final reliability = packet.kind.toSDKType(); // construct the data channel message @@ -241,7 +233,7 @@ class Engine extends Disposable with EventsEmittable { } // wait for data channel to open (if not already) - if (publisherDataChannelState(packet.kind.toSDKType()) != + if (_publisherDataChannelState(packet.kind.toSDKType()) != rtc.RTCDataChannelState.RTCDataChannelOpen) { logger.fine('Waiting for data channel ${reliability} to open...'); await events.waitFor( @@ -252,7 +244,7 @@ class Engine extends Disposable with EventsEmittable { } // chose data channel - final rtc.RTCDataChannel? channel = publisherDataChannel(reliability); + final rtc.RTCDataChannel? channel = _publisherDataChannel(reliability); if (channel == null) { throw UnexpectedStateException( @@ -679,3 +671,14 @@ class Engine extends Disposable with EventsEmittable { muted: event.muted, ))); } + +extension EnginePrivateMethods on Engine { + // publisher data channel for the reliability + rtc.RTCDataChannel? _publisherDataChannel(Reliability reliability) => + reliability == Reliability.reliable ? _reliableDCPub : _lossyDCPub; + + // state of the publisher data channel + rtc.RTCDataChannelState _publisherDataChannelState(Reliability reliability) => + _publisherDataChannel(reliability)?.state ?? + rtc.RTCDataChannelState.RTCDataChannelClosed; +}