diff options
Diffstat (limited to 'client-native-lib')
-rw-r--r-- | client-native-lib/src/instance.rs | 3 | ||||
-rw-r--r-- | client-native-lib/src/protocol.rs | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/client-native-lib/src/instance.rs b/client-native-lib/src/instance.rs index 74e6f3d..3edf50a 100644 --- a/client-native-lib/src/instance.rs +++ b/client-native-lib/src/instance.rs @@ -113,7 +113,8 @@ impl Instance { pub async fn on_relay(&self, sender: usize, p: RelayMessage) { debug!("(relay) <- ({sender}) {p:?}"); if let Some(peer) = self.peers.read().await.get(&sender) { - peer.on_relay(p).await + peer.on_relay(p.clone()).await; + self.event_handler.on_relay(peer.to_owned(), &p).await; } else { warn!("got a packet from a non-existent peer") } diff --git a/client-native-lib/src/protocol.rs b/client-native-lib/src/protocol.rs index c361f6b..b7d0b89 100644 --- a/client-native-lib/src/protocol.rs +++ b/client-native-lib/src/protocol.rs @@ -49,21 +49,21 @@ pub enum RelayMessage { IceCandidate(RTCIceCandidateInit), } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)] #[serde(rename_all = "snake_case")] pub enum ChatMesssage { Text(String), Image(String), } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)] #[serde(rename_all = "snake_case")] pub enum TrackKind { Audio, Video, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)] pub struct ProvideInfo { pub id: String, pub kind: String, // not an enum so we dont fail if we dont support it |