diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-03-08 18:21:49 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-03-27 10:14:50 -0700 |
| commit | bb9172d7b512c36f34d34b024640f030d1fde2eb (patch) | |
| tree | 0e4ea18ae30a12954db6b9fbe95f62222ade9301 /src/librustuv | |
| parent | bdd24b2a56e8bf6b952bd8880364fb0a57c2c540 (diff) | |
| download | rust-bb9172d7b512c36f34d34b024640f030d1fde2eb.tar.gz rust-bb9172d7b512c36f34d34b024640f030d1fde2eb.zip | |
Fix fallout of removing default bounds
This is all purely fallout of getting the previous commit to compile.
Diffstat (limited to 'src/librustuv')
| -rw-r--r-- | src/librustuv/async.rs | 7 | ||||
| -rw-r--r-- | src/librustuv/idle.rs | 4 | ||||
| -rw-r--r-- | src/librustuv/lib.rs | 4 | ||||
| -rw-r--r-- | src/librustuv/net.rs | 20 | ||||
| -rw-r--r-- | src/librustuv/pipe.rs | 16 | ||||
| -rw-r--r-- | src/librustuv/uvio.rs | 63 |
6 files changed, 58 insertions, 56 deletions
diff --git a/src/librustuv/async.rs b/src/librustuv/async.rs index bda859afc0b..5caccb348cc 100644 --- a/src/librustuv/async.rs +++ b/src/librustuv/async.rs @@ -27,12 +27,12 @@ pub struct AsyncWatcher { } struct Payload { - callback: ~Callback, + callback: ~Callback:Send, exit_flag: Exclusive<bool>, } impl AsyncWatcher { - pub fn new(loop_: &mut Loop, cb: ~Callback) -> AsyncWatcher { + pub fn new(loop_: &mut Loop, cb: ~Callback:Send) -> AsyncWatcher { let handle = UvHandle::alloc(None::<AsyncWatcher>, uvll::UV_ASYNC); assert_eq!(unsafe { uvll::uv_async_init(loop_.handle, handle, async_cb) @@ -149,8 +149,7 @@ mod test_remote { let (tx, rx) = channel(); let cb = ~MyCallback(Some(tx)); - let watcher = AsyncWatcher::new(&mut local_loop().loop_, - cb as ~Callback); + let watcher = AsyncWatcher::new(&mut local_loop().loop_, cb); let thread = Thread::start(proc() { let mut watcher = watcher; diff --git a/src/librustuv/idle.rs b/src/librustuv/idle.rs index 1f059ca9fb9..bbfacf87096 100644 --- a/src/librustuv/idle.rs +++ b/src/librustuv/idle.rs @@ -19,11 +19,11 @@ pub struct IdleWatcher { handle: *uvll::uv_idle_t, idle_flag: bool, closed: bool, - callback: ~Callback, + callback: ~Callback:Send, } impl IdleWatcher { - pub fn new(loop_: &mut Loop, cb: ~Callback) -> ~IdleWatcher { + pub fn new(loop_: &mut Loop, cb: ~Callback:Send) -> ~IdleWatcher { let handle = UvHandle::alloc(None::<IdleWatcher>, uvll::UV_IDLE); assert_eq!(unsafe { uvll::uv_idle_init(loop_.handle, handle) diff --git a/src/librustuv/lib.rs b/src/librustuv/lib.rs index cf1d95588bb..41a6651cc1c 100644 --- a/src/librustuv/lib.rs +++ b/src/librustuv/lib.rs @@ -126,8 +126,8 @@ pub mod stream; /// // this code is running inside of a green task powered by libuv /// } /// ``` -pub fn event_loop() -> ~rtio::EventLoop { - ~uvio::UvEventLoop::new() as ~rtio::EventLoop +pub fn event_loop() -> ~rtio::EventLoop:Send { + ~uvio::UvEventLoop::new() as ~rtio::EventLoop:Send } /// A type that wraps a uv handle diff --git a/src/librustuv/net.rs b/src/librustuv/net.rs index 08d66e72703..cfecdd929f3 100644 --- a/src/librustuv/net.rs +++ b/src/librustuv/net.rs @@ -167,8 +167,8 @@ pub struct TcpListener { home: HomeHandle, handle: *uvll::uv_pipe_t, priv closing_task: Option<BlockedTask>, - priv outgoing: Sender<Result<~rtio::RtioTcpStream, IoError>>, - priv incoming: Receiver<Result<~rtio::RtioTcpStream, IoError>>, + priv outgoing: Sender<Result<~rtio::RtioTcpStream:Send, IoError>>, + priv incoming: Receiver<Result<~rtio::RtioTcpStream:Send, IoError>>, } pub struct TcpAcceptor { @@ -295,7 +295,7 @@ impl rtio::RtioTcpStream for TcpWatcher { }) } - fn clone(&self) -> ~rtio::RtioTcpStream { + fn clone(&self) -> ~rtio::RtioTcpStream:Send { ~TcpWatcher { handle: self.handle, stream: StreamWatcher::new(self.handle), @@ -303,7 +303,7 @@ impl rtio::RtioTcpStream for TcpWatcher { refcount: self.refcount.clone(), write_access: self.write_access.clone(), read_access: self.read_access.clone(), - } as ~rtio::RtioTcpStream + } as ~rtio::RtioTcpStream:Send } fn close_write(&mut self) -> Result<(), IoError> { @@ -397,14 +397,14 @@ impl rtio::RtioSocket for TcpListener { } impl rtio::RtioTcpListener for TcpListener { - fn listen(~self) -> Result<~rtio::RtioTcpAcceptor, IoError> { + fn listen(~self) -> Result<~rtio::RtioTcpAcceptor:Send, IoError> { // create the acceptor object from ourselves let mut acceptor = ~TcpAcceptor { listener: self }; let _m = acceptor.fire_homing_missile(); // FIXME: the 128 backlog should be configurable match unsafe { uvll::uv_listen(acceptor.listener.handle, 128, listen_cb) } { - 0 => Ok(acceptor as ~rtio::RtioTcpAcceptor), + 0 => Ok(acceptor as ~rtio::RtioTcpAcceptor:Send), n => Err(uv_error_to_io_error(UvError(n))), } } @@ -420,7 +420,7 @@ extern fn listen_cb(server: *uvll::uv_stream_t, status: c_int) { }); let client = TcpWatcher::new_home(&loop_, tcp.home().clone()); assert_eq!(unsafe { uvll::uv_accept(server, client.handle) }, 0); - Ok(~client as ~rtio::RtioTcpStream) + Ok(~client as ~rtio::RtioTcpStream:Send) } n => Err(uv_error_to_io_error(UvError(n))) }; @@ -448,7 +448,7 @@ impl rtio::RtioSocket for TcpAcceptor { } impl rtio::RtioTcpAcceptor for TcpAcceptor { - fn accept(&mut self) -> Result<~rtio::RtioTcpStream, IoError> { + fn accept(&mut self) -> Result<~rtio::RtioTcpStream:Send, IoError> { self.listener.incoming.recv() } @@ -709,14 +709,14 @@ impl rtio::RtioUdpSocket for UdpWatcher { }) } - fn clone(&self) -> ~rtio::RtioUdpSocket { + fn clone(&self) -> ~rtio::RtioUdpSocket:Send { ~UdpWatcher { handle: self.handle, home: self.home.clone(), refcount: self.refcount.clone(), write_access: self.write_access.clone(), read_access: self.read_access.clone(), - } as ~rtio::RtioUdpSocket + } as ~rtio::RtioUdpSocket:Send } } diff --git a/src/librustuv/pipe.rs b/src/librustuv/pipe.rs index 8d5e7c6f522..e1226f0b3a9 100644 --- a/src/librustuv/pipe.rs +++ b/src/librustuv/pipe.rs @@ -37,8 +37,8 @@ pub struct PipeWatcher { pub struct PipeListener { home: HomeHandle, pipe: *uvll::uv_pipe_t, - priv outgoing: Sender<Result<~RtioPipe, IoError>>, - priv incoming: Receiver<Result<~RtioPipe, IoError>>, + priv outgoing: Sender<Result<~RtioPipe:Send, IoError>>, + priv incoming: Receiver<Result<~RtioPipe:Send, IoError>>, } pub struct PipeAcceptor { @@ -139,7 +139,7 @@ impl RtioPipe for PipeWatcher { self.stream.write(buf).map_err(uv_error_to_io_error) } - fn clone(&self) -> ~RtioPipe { + fn clone(&self) -> ~RtioPipe:Send { ~PipeWatcher { stream: StreamWatcher::new(self.stream.handle), defused: false, @@ -147,7 +147,7 @@ impl RtioPipe for PipeWatcher { refcount: self.refcount.clone(), read_access: self.read_access.clone(), write_access: self.write_access.clone(), - } as ~RtioPipe + } as ~RtioPipe:Send } } @@ -197,14 +197,14 @@ impl PipeListener { } impl RtioUnixListener for PipeListener { - fn listen(~self) -> Result<~RtioUnixAcceptor, IoError> { + fn listen(~self) -> Result<~RtioUnixAcceptor:Send, IoError> { // create the acceptor object from ourselves let mut acceptor = ~PipeAcceptor { listener: self }; let _m = acceptor.fire_homing_missile(); // FIXME: the 128 backlog should be configurable match unsafe { uvll::uv_listen(acceptor.listener.pipe, 128, listen_cb) } { - 0 => Ok(acceptor as ~RtioUnixAcceptor), + 0 => Ok(acceptor as ~RtioUnixAcceptor:Send), n => Err(uv_error_to_io_error(UvError(n))), } } @@ -229,7 +229,7 @@ extern fn listen_cb(server: *uvll::uv_stream_t, status: libc::c_int) { }); let client = PipeWatcher::new_home(&loop_, pipe.home().clone(), false); assert_eq!(unsafe { uvll::uv_accept(server, client.handle()) }, 0); - Ok(~client as ~RtioPipe) + Ok(~client as ~RtioPipe:Send) } n => Err(uv_error_to_io_error(UvError(n))) }; @@ -246,7 +246,7 @@ impl Drop for PipeListener { // PipeAcceptor implementation and traits impl RtioUnixAcceptor for PipeAcceptor { - fn accept(&mut self) -> Result<~RtioPipe, IoError> { + fn accept(&mut self) -> Result<~RtioPipe:Send, IoError> { self.listener.incoming.recv() } } diff --git a/src/librustuv/uvio.rs b/src/librustuv/uvio.rs index 15de0408795..1621ccfbf45 100644 --- a/src/librustuv/uvio.rs +++ b/src/librustuv/uvio.rs @@ -85,14 +85,17 @@ impl rtio::EventLoop for UvEventLoop { IdleWatcher::onetime(&mut self.uvio.loop_, f); } - fn pausable_idle_callback(&mut self, cb: ~rtio::Callback) - -> ~rtio::PausableIdleCallback + fn pausable_idle_callback(&mut self, cb: ~rtio::Callback:Send) + -> ~rtio::PausableIdleCallback:Send { - IdleWatcher::new(&mut self.uvio.loop_, cb) as ~rtio::PausableIdleCallback + IdleWatcher::new(&mut self.uvio.loop_, + cb) as ~rtio::PausableIdleCallback:Send } - fn remote_callback(&mut self, f: ~rtio::Callback) -> ~rtio::RemoteCallback { - ~AsyncWatcher::new(&mut self.uvio.loop_, f) as ~rtio::RemoteCallback + fn remote_callback(&mut self, f: ~rtio::Callback:Send) + -> ~rtio::RemoteCallback:Send + { + ~AsyncWatcher::new(&mut self.uvio.loop_, f) as ~rtio::RemoteCallback:Send } fn io<'a>(&'a mut self) -> Option<&'a mut rtio::IoFactory> { @@ -141,30 +144,30 @@ impl IoFactory for UvIoFactory { // NB: This blocks the task waiting on the connection. // It would probably be better to return a future fn tcp_connect(&mut self, addr: SocketAddr) - -> Result<~rtio::RtioTcpStream, IoError> + -> Result<~rtio::RtioTcpStream:Send, IoError> { match TcpWatcher::connect(self, addr) { - Ok(t) => Ok(~t as ~rtio::RtioTcpStream), + Ok(t) => Ok(~t as ~rtio::RtioTcpStream:Send), Err(e) => Err(uv_error_to_io_error(e)), } } - fn tcp_bind(&mut self, addr: SocketAddr) -> Result<~rtio::RtioTcpListener, IoError> { + fn tcp_bind(&mut self, addr: SocketAddr) -> Result<~rtio::RtioTcpListener:Send, IoError> { match TcpListener::bind(self, addr) { - Ok(t) => Ok(t as ~rtio::RtioTcpListener), + Ok(t) => Ok(t as ~rtio::RtioTcpListener:Send), Err(e) => Err(uv_error_to_io_error(e)), } } - fn udp_bind(&mut self, addr: SocketAddr) -> Result<~rtio::RtioUdpSocket, IoError> { + fn udp_bind(&mut self, addr: SocketAddr) -> Result<~rtio::RtioUdpSocket:Send, IoError> { match UdpWatcher::bind(self, addr) { - Ok(u) => Ok(~u as ~rtio::RtioUdpSocket), + Ok(u) => Ok(~u as ~rtio::RtioUdpSocket:Send), Err(e) => Err(uv_error_to_io_error(e)), } } - fn timer_init(&mut self) -> Result<~rtio::RtioTimer, IoError> { - Ok(TimerWatcher::new(self) as ~rtio::RtioTimer) + fn timer_init(&mut self) -> Result<~rtio::RtioTimer:Send, IoError> { + Ok(TimerWatcher::new(self) as ~rtio::RtioTimer:Send) } fn get_host_addresses(&mut self, host: Option<&str>, servname: Option<&str>, @@ -174,12 +177,12 @@ impl IoFactory for UvIoFactory { } fn fs_from_raw_fd(&mut self, fd: c_int, - close: rtio::CloseBehavior) -> ~rtio::RtioFileStream { - ~FileWatcher::new(self, fd, close) as ~rtio::RtioFileStream + close: rtio::CloseBehavior) -> ~rtio::RtioFileStream:Send { + ~FileWatcher::new(self, fd, close) as ~rtio::RtioFileStream:Send } fn fs_open(&mut self, path: &CString, fm: FileMode, fa: FileAccess) - -> Result<~rtio::RtioFileStream, IoError> { + -> Result<~rtio::RtioFileStream:Send, IoError> { let flags = match fm { io::Open => 0, io::Append => libc::O_APPEND, @@ -195,7 +198,7 @@ impl IoFactory for UvIoFactory { }; match FsRequest::open(self, path, flags as int, mode as int) { - Ok(fs) => Ok(~fs as ~rtio::RtioFileStream), + Ok(fs) => Ok(~fs as ~rtio::RtioFileStream:Send), Err(e) => Err(uv_error_to_io_error(e)) } } @@ -260,12 +263,12 @@ impl IoFactory for UvIoFactory { } fn spawn(&mut self, config: ProcessConfig) - -> Result<(~rtio::RtioProcess, ~[Option<~rtio::RtioPipe>]), IoError> + -> Result<(~rtio::RtioProcess:Send, ~[Option<~rtio::RtioPipe:Send>]), IoError> { match Process::spawn(self, config) { Ok((p, io)) => { - Ok((p as ~rtio::RtioProcess, - io.move_iter().map(|i| i.map(|p| ~p as ~rtio::RtioPipe)).collect())) + Ok((p as ~rtio::RtioProcess:Send, + io.move_iter().map(|i| i.map(|p| ~p as ~rtio::RtioPipe:Send)).collect())) } Err(e) => Err(uv_error_to_io_error(e)), } @@ -275,40 +278,40 @@ impl IoFactory for UvIoFactory { Process::kill(pid, signum).map_err(uv_error_to_io_error) } - fn unix_bind(&mut self, path: &CString) -> Result<~rtio::RtioUnixListener, IoError> + fn unix_bind(&mut self, path: &CString) -> Result<~rtio::RtioUnixListener:Send, IoError> { match PipeListener::bind(self, path) { - Ok(p) => Ok(p as ~rtio::RtioUnixListener), + Ok(p) => Ok(p as ~rtio::RtioUnixListener:Send), Err(e) => Err(uv_error_to_io_error(e)), } } - fn unix_connect(&mut self, path: &CString) -> Result<~rtio::RtioPipe, IoError> { + fn unix_connect(&mut self, path: &CString) -> Result<~rtio::RtioPipe:Send, IoError> { match PipeWatcher::connect(self, path) { - Ok(p) => Ok(~p as ~rtio::RtioPipe), + Ok(p) => Ok(~p as ~rtio::RtioPipe:Send), Err(e) => Err(uv_error_to_io_error(e)), } } fn tty_open(&mut self, fd: c_int, readable: bool) - -> Result<~rtio::RtioTTY, IoError> { + -> Result<~rtio::RtioTTY:Send, IoError> { match TtyWatcher::new(self, fd, readable) { - Ok(tty) => Ok(~tty as ~rtio::RtioTTY), + Ok(tty) => Ok(~tty as ~rtio::RtioTTY:Send), Err(e) => Err(uv_error_to_io_error(e)) } } - fn pipe_open(&mut self, fd: c_int) -> Result<~rtio::RtioPipe, IoError> { + fn pipe_open(&mut self, fd: c_int) -> Result<~rtio::RtioPipe:Send, IoError> { match PipeWatcher::open(self, fd) { - Ok(s) => Ok(~s as ~rtio::RtioPipe), + Ok(s) => Ok(~s as ~rtio::RtioPipe:Send), Err(e) => Err(uv_error_to_io_error(e)) } } fn signal(&mut self, signum: Signum, channel: Sender<Signum>) - -> Result<~rtio::RtioSignal, IoError> { + -> Result<~rtio::RtioSignal:Send, IoError> { match SignalWatcher::new(self, signum, channel) { - Ok(s) => Ok(s as ~rtio::RtioSignal), + Ok(s) => Ok(s as ~rtio::RtioSignal:Send), Err(e) => Err(uv_error_to_io_error(e)), } } |
