diff options
| author | Eric Reed <ereed@mozilla.com> | 2013-07-17 15:16:44 -0700 |
|---|---|---|
| committer | Eric Reed <ereed@mozilla.com> | 2013-07-19 13:04:03 -0700 |
| commit | 968f7f5d3d64b481fb68651d9274768fe5e98853 (patch) | |
| tree | 8c0ea1cca0c2ba8983eee8e4015d1aeff0f48387 /src/libstd/rt/io | |
| parent | 0d04aa78e5e8a7e3c48141028137c1a69e7e32ee (diff) | |
| download | rust-968f7f5d3d64b481fb68651d9274768fe5e98853.tar.gz rust-968f7f5d3d64b481fb68651d9274768fe5e98853.zip | |
Changed methods on UDP sockets and TCP/UDP watchers to &mut self to reflect that libuv may change the underlying handle.
Diffstat (limited to 'src/libstd/rt/io')
| -rw-r--r-- | src/libstd/rt/io/net/udp.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/libstd/rt/io/net/udp.rs b/src/libstd/rt/io/net/udp.rs index f3b52783573..59649dee5b9 100644 --- a/src/libstd/rt/io/net/udp.rs +++ b/src/libstd/rt/io/net/udp.rs @@ -30,7 +30,7 @@ impl UdpSocket { } } - pub fn recvfrom(&self, buf: &mut [u8]) -> Option<(uint, IpAddr)> { + pub fn recvfrom(&mut self, buf: &mut [u8]) -> Option<(uint, IpAddr)> { match (**self).recvfrom(buf) { Ok((nread, src)) => Some((nread, src)), Err(ioerr) => { @@ -43,7 +43,7 @@ impl UdpSocket { } } - pub fn sendto(&self, buf: &[u8], dst: IpAddr) { + pub fn sendto(&mut self, buf: &[u8], dst: IpAddr) { match (**self).sendto(buf, dst) { Ok(_) => (), Err(ioerr) => io_error::cond.raise(ioerr), @@ -61,16 +61,17 @@ pub struct UdpStream { } impl UdpStream { - pub fn as_socket<T>(&self, f: &fn(&UdpSocket) -> T) -> T { f(&self.socket) } + pub fn as_socket<T>(&mut self, f: &fn(&mut UdpSocket) -> T) -> T { f(&mut self.socket) } pub fn disconnect(self) -> UdpSocket { self.socket } } impl Reader for UdpStream { fn read(&mut self, buf: &mut [u8]) -> Option<uint> { + let peer = self.connectedTo; do self.as_socket |sock| { match sock.recvfrom(buf) { - Some((_nread, src)) if src != self.connectedTo => Some(0), + Some((_nread, src)) if src != peer => Some(0), Some((nread, _src)) => Some(nread), None => None, } @@ -122,7 +123,7 @@ mod test { do spawntask_immediately { match UdpSocket::bind(server_ip) { - Some(server) => { + Some(ref mut server) => { let mut buf = [0]; match server.recvfrom(buf) { Some((nread, src)) => { @@ -139,7 +140,7 @@ mod test { do spawntask_immediately { match UdpSocket::bind(client_ip) { - Some(client) => client.sendto([99], server_ip), + Some(ref mut client) => client.sendto([99], server_ip), None => fail!() } } @@ -154,7 +155,7 @@ mod test { do spawntask_immediately { match UdpSocket::bind(server_ip) { - Some(server) => { + Some(ref mut server) => { let mut buf = [0]; match server.recvfrom(buf) { Some((nread, src)) => { @@ -171,7 +172,7 @@ mod test { do spawntask_immediately { match UdpSocket::bind(client_ip) { - Some(client) => client.sendto([99], server_ip), + Some(ref mut client) => client.sendto([99], server_ip), None => fail!() } } |
