aboutsummaryrefslogtreecommitdiff
path: root/client-native-rift/src
diff options
context:
space:
mode:
Diffstat (limited to 'client-native-rift/src')
-rw-r--r--client-native-rift/src/peer.rs33
1 files changed, 31 insertions, 2 deletions
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) {