From a8de400e17bd3eb7892cac5a0bef02b35482e946 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 14 Sep 2022 19:58:12 +0200 Subject: transmission successful! --- client-native-rift/src/peer.rs | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'client-native-rift/src') diff --git a/client-native-rift/src/peer.rs b/client-native-rift/src/peer.rs index 22acffd..8402fc6 100644 --- a/client-native-rift/src/peer.rs +++ b/client-native-rift/src/peer.rs @@ -1,6 +1,5 @@ -use std::sync::Arc; - use log::info; +use std::sync::Arc; use webrtc::{ data_channel::data_channel_message::DataChannelMessage, ice_transport::{ice_candidate::RTCIceCandidate, ice_server::RTCIceServer}, @@ -71,6 +70,19 @@ impl Peer { .await; } + { + peer.peer_connection + .on_data_channel(box move |dc| { + Box::pin(async move { + dc.on_message(box move |message| { + Box::pin(async move { println!("{:?}", message.data) }) + }) + .await + }) + }) + .await; + } + if let Action::Send { .. } = &peer.state.args.action { peer.start_transfer().await } @@ -97,6 +109,23 @@ impl Peer { Box::pin(async {}) })) .await; + + { + let dc2 = data_channel.clone(); + data_channel + .on_open(box move || { + let data_channel = dc2.clone(); + Box::pin(async move { + loop { + data_channel + .send(&bytes::Bytes::from_static(b"test\n")) + .await + .unwrap(); + } + }) + }) + .await; + } } pub async fn on_relay(&self, p: RelayMessage) { -- cgit v1.2.3-70-g09d2