diff options
Diffstat (limited to 'src/client.rs')
-rw-r--r-- | src/client.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/client.rs b/src/client.rs index c4922ec..56db92a 100644 --- a/src/client.rs +++ b/src/client.rs @@ -19,7 +19,7 @@ impl UdpSender for ToSrv { #[async_trait] impl UdpReceiver for FromSrv { - async fn recv(&self) -> io::Result<Vec<u8>> { + async fn recv(&mut self) -> io::Result<Vec<u8>> { let mut buffer = Vec::new(); buffer.resize(UDP_PKT_SIZE, 0); @@ -30,7 +30,13 @@ impl UdpReceiver for FromSrv { } } -pub async fn connect(addr: &str) -> io::Result<(RudpSender<ToSrv>, RudpReceiver<ToSrv>)> { +pub struct RemoteSrv; +impl UdpPeer for RemoteSrv { + type Sender = ToSrv; + type Receiver = FromSrv; +} + +pub async fn connect(addr: &str) -> io::Result<(RudpSender<RemoteSrv>, RudpReceiver<RemoteSrv>)> { let sock = Arc::new(net::UdpSocket::bind("0.0.0.0:0").await?); sock.connect(addr).await?; |