summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/conn.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/conn.rs b/src/conn.rs
index 3fc0e55..b5224d1 100644
--- a/src/conn.rs
+++ b/src/conn.rs
@@ -28,7 +28,10 @@ pub async fn connect(addr: &str) -> io::Result<(MtSender<RemoteSrv>, MtReceiver<
/*
+#[cfg(feature = "server")]
pub struct RemoteClt;
+
+#[cfg(feature = "server")]
impl Remote for RemoteClt {
type Sender = mt_rudp::ToClt;
type To = crate::ToCltPkt;
@@ -37,7 +40,10 @@ impl Remote for RemoteClt {
*/
+#[derive(Debug)]
pub struct MtSender<R: Remote>(pub mt_rudp::RudpSender<R::UdpSender>);
+
+#[derive(Debug)]
pub struct MtReceiver<R: Remote>(pub mt_rudp::RudpReceiver<R::UdpSender>);
#[derive(Error, Debug)]
@@ -102,3 +108,10 @@ impl<R: Remote> MtSender<R> {
Ok(())
}
}
+
+// derive(Clone) adds unwanted trait bound to R
+impl<R: Remote> Clone for MtSender<R> {
+ fn clone(&self) -> Self {
+ Self(self.0.clone())
+ }
+}