Separate sub/pub data channels (#60)
This commit is contained in:
+11
-6
@@ -45,8 +45,12 @@ class RTCEngine extends Disposable with EventsEmittable<EngineEvent> {
|
|||||||
// data channels for packets
|
// data channels for packets
|
||||||
rtc.RTCDataChannel? _reliableDC;
|
rtc.RTCDataChannel? _reliableDC;
|
||||||
rtc.RTCDataChannel? _lossyDC;
|
rtc.RTCDataChannel? _lossyDC;
|
||||||
|
rtc.RTCDataChannel? _reliableDCSub;
|
||||||
|
rtc.RTCDataChannel? _lossyDCSub;
|
||||||
|
|
||||||
rtc.RTCDataChannelState get reliableDataChannelState =>
|
rtc.RTCDataChannelState get reliableDataChannelState =>
|
||||||
_reliableDC?.state ?? rtc.RTCDataChannelState.RTCDataChannelClosed;
|
_reliableDC?.state ?? rtc.RTCDataChannelState.RTCDataChannelClosed;
|
||||||
|
|
||||||
rtc.RTCDataChannelState get lossyDataChannelState =>
|
rtc.RTCDataChannelState get lossyDataChannelState =>
|
||||||
_lossyDC?.state ?? rtc.RTCDataChannelState.RTCDataChannelClosed;
|
_lossyDC?.state ?? rtc.RTCDataChannelState.RTCDataChannelClosed;
|
||||||
bool _iceConnected = false;
|
bool _iceConnected = false;
|
||||||
@@ -65,6 +69,7 @@ class RTCEngine extends Disposable with EventsEmittable<EngineEvent> {
|
|||||||
String? token;
|
String? token;
|
||||||
|
|
||||||
bool _subscriberPrimary = false;
|
bool _subscriberPrimary = false;
|
||||||
|
|
||||||
// server-provided ice servers
|
// server-provided ice servers
|
||||||
List<lk_rtc.ICEServer> _serverProvidedIceServers = [];
|
List<lk_rtc.ICEServer> _serverProvidedIceServers = [];
|
||||||
|
|
||||||
@@ -439,16 +444,16 @@ class RTCEngine extends Disposable with EventsEmittable<EngineEvent> {
|
|||||||
switch (dc.label) {
|
switch (dc.label) {
|
||||||
case _reliableDCLabel:
|
case _reliableDCLabel:
|
||||||
logger.fine('Server opened DC label: ${dc.label}');
|
logger.fine('Server opened DC label: ${dc.label}');
|
||||||
_reliableDC = dc;
|
_reliableDCSub = dc;
|
||||||
_reliableDC?.onMessage = _onDCMessage;
|
_reliableDCSub?.onMessage = _onDCMessage;
|
||||||
_reliableDC?.stateChangeStream
|
_reliableDCSub?.stateChangeStream
|
||||||
.listen((state) => _onDCStateUpdated(Reliability.reliable, state));
|
.listen((state) => _onDCStateUpdated(Reliability.reliable, state));
|
||||||
break;
|
break;
|
||||||
case _lossyDCLabel:
|
case _lossyDCLabel:
|
||||||
logger.fine('Server opened DC label: ${dc.label}');
|
logger.fine('Server opened DC label: ${dc.label}');
|
||||||
_lossyDC = dc;
|
_lossyDCSub = dc;
|
||||||
_lossyDC?.onMessage = _onDCMessage;
|
_lossyDCSub?.onMessage = _onDCMessage;
|
||||||
_lossyDC?.stateChangeStream
|
_lossyDCSub?.stateChangeStream
|
||||||
.listen((event) => _onDCStateUpdated(Reliability.lossy, event));
|
.listen((event) => _onDCStateUpdated(Reliability.lossy, event));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user