public void UpdateOutput(SignaledPeer.Offer offer) { var offerPacket = MessagePackSerializer.Serialize(offer); OutputField.Text = MessagePackSerializer.ConvertToJson(offerPacket); Log.Information("Updated output; {UID}, {L}", offer.assignedUID, OutputField.Text.Length); }
public void JoinMesh(byte[] packet) { //first you need to remove yourself from the current mesh. RTCMP.Close(); SignaledPeers = new Dictionary <int, SignaledPeer>(); SignaledPeer.Offer incomingOffer = MessagePackSerializer.Deserialize <SignaledPeer.Offer>(packet); RTCMP.Initialize(incomingOffer.assignedUID); HandshakePeer = CreateSignaledPeer(incomingOffer.UID, SignaledPeer.ConnectionStateMachine.MANUAL, false); HandshakePeer.Connect(nameof(SignaledPeer.StatusUpdated), this, nameof(HandshakeStatusUpdated)); HandshakePeer.PeerConnection.SetRemoteDescription(incomingOffer.type, incomingOffer.sdp); foreach (SignaledPeer.BufferedCandidate c in incomingOffer.ICECandidates) { HandshakePeer.BufferIceCandidate(c); } EmitSignal(nameof(ConnectedToSession), incomingOffer.assignedUID); }