/// <summary> /// /// </summary> /// <param name="connectionId"></param> /// <param name="channel"></param> public virtual void SetChannel(string connectionId, RTCDataChannel channel) { Channel = channel; if (Channel == null) { OnStoppedChannel?.Invoke(connectionId); return; } label = Channel.Label; Channel.OnOpen += () => { OnOpen(connectionId); }; Channel.OnClose += () => { OnClose(connectionId); }; Channel.OnMessage += OnMessage; if (Channel.ReadyState == RTCDataChannelState.Open && !IsLocal) { OnStartedChannel?.Invoke(connectionId); } }
/// <summary> /// /// </summary> /// <param name="connectionId"></param> protected virtual void OnOpen(string connectionId) { OnStartedChannel?.Invoke(connectionId); }