diff options
| author | bors <bors@rust-lang.org> | 2013-07-27 01:49:35 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-07-27 01:49:35 -0700 |
| commit | 15310ba7c2a930a26bf6104f336cf7220eec7dc7 (patch) | |
| tree | e85d3a47641c3a9f00364996647626f882501c1b /src/libstd/rt/rtio.rs | |
| parent | c5194740a78ec113cb6cbc937e7263e2548f62f6 (diff) | |
| parent | df67942dccc33379051e66f075615e579f3bdb49 (diff) | |
auto merge of #8040 : luqmana/rust/rtn, r=brson
Implements various missing tcp & udp methods.. Also fixes handling ipv4-mapped/compatible ipv6 addresses and addresses the XXX on `status_to_maybe_uv_error`. r? @brson
Diffstat (limited to 'src/libstd/rt/rtio.rs')
| -rw-r--r-- | src/libstd/rt/rtio.rs | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/libstd/rt/rtio.rs b/src/libstd/rt/rtio.rs index aa8b9dc3a94..d293d46e012 100644 --- a/src/libstd/rt/rtio.rs +++ b/src/libstd/rt/rtio.rs @@ -52,39 +52,39 @@ pub trait IoFactory { pub trait RtioTcpListener : RtioSocket { fn accept(&mut self) -> Result<~RtioTcpStreamObject, IoError>; - fn accept_simultaneously(&mut self); - fn dont_accept_simultaneously(&mut self); + fn accept_simultaneously(&mut self) -> Result<(), IoError>; + fn dont_accept_simultaneously(&mut self) -> Result<(), IoError>; } pub trait RtioTcpStream : RtioSocket { fn read(&mut self, buf: &mut [u8]) -> Result<uint, IoError>; fn write(&mut self, buf: &[u8]) -> Result<(), IoError>; - fn peer_name(&mut self) -> IpAddr; - fn control_congestion(&mut self); - fn nodelay(&mut self); - fn keepalive(&mut self, delay_in_seconds: uint); - fn letdie(&mut self); + fn peer_name(&mut self) -> Result<IpAddr, IoError>; + fn control_congestion(&mut self) -> Result<(), IoError>; + fn nodelay(&mut self) -> Result<(), IoError>; + fn keepalive(&mut self, delay_in_seconds: uint) -> Result<(), IoError>; + fn letdie(&mut self) -> Result<(), IoError>; } pub trait RtioSocket { - fn socket_name(&mut self) -> IpAddr; + fn socket_name(&mut self) -> Result<IpAddr, IoError>; } pub trait RtioUdpSocket : RtioSocket { fn recvfrom(&mut self, buf: &mut [u8]) -> Result<(uint, IpAddr), IoError>; fn sendto(&mut self, buf: &[u8], dst: IpAddr) -> Result<(), IoError>; - fn join_multicast(&mut self, multi: IpAddr); - fn leave_multicast(&mut self, multi: IpAddr); + fn join_multicast(&mut self, multi: IpAddr) -> Result<(), IoError>; + fn leave_multicast(&mut self, multi: IpAddr) -> Result<(), IoError>; - fn loop_multicast_locally(&mut self); - fn dont_loop_multicast_locally(&mut self); + fn loop_multicast_locally(&mut self) -> Result<(), IoError>; + fn dont_loop_multicast_locally(&mut self) -> Result<(), IoError>; - fn multicast_time_to_live(&mut self, ttl: int); - fn time_to_live(&mut self, ttl: int); + fn multicast_time_to_live(&mut self, ttl: int) -> Result<(), IoError>; + fn time_to_live(&mut self, ttl: int) -> Result<(), IoError>; - fn hear_broadcasts(&mut self); - fn ignore_broadcasts(&mut self); + fn hear_broadcasts(&mut self) -> Result<(), IoError>; + fn ignore_broadcasts(&mut self) -> Result<(), IoError>; } pub trait RtioTimer { |
