diff options
author | Alex Crichton <alex@alexcrichton.com> | 2016-08-17 11:23:32 -0700 |
---|---|---|
committer | Alex Crichton <alex@alexcrichton.com> | 2016-08-17 18:41:34 -0700 |
commit | 311bfa07a362657c57037b44404a6e42cf560438 (patch) | |
tree | 3855d3fa7d1609cd445a0fa6561316d6ab4388a1 /tests/echo.rs | |
parent | d0b911189c9a879fd3861b7fc84d4f03723208de (diff) |
Update futures-minihttp
Diffstat (limited to 'tests/echo.rs')
-rw-r--r-- | tests/echo.rs | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/tests/echo.rs b/tests/echo.rs index 72488647..77635539 100644 --- a/tests/echo.rs +++ b/tests/echo.rs @@ -3,14 +3,13 @@ extern crate futures; extern crate futures_io; extern crate futures_mio; -use std::io::{self, Read, Write}; -use std::sync::Arc; +use std::io::{Read, Write}; +use std::net::TcpStream; use std::thread; use futures::Future; use futures::stream::Stream; -use futures_io::copy; -use futures_mio::TcpStream; +use futures_io::{copy, TaskIo}; macro_rules! t { ($e:expr) => (match $e { @@ -30,8 +29,6 @@ fn echo_server() { let msg = "foo bar baz"; let t = thread::spawn(move || { - use std::net::TcpStream; - let mut s = TcpStream::connect(&addr).unwrap(); for _i in 0..1024 { @@ -44,10 +41,7 @@ fn echo_server() { let clients = srv.incoming(); let client = clients.into_future().map(|e| e.0.unwrap()).map_err(|e| e.0); - let halves = client.map(|s| { - let s = Arc::new(s.0); - (SocketIo(s.clone()), SocketIo(s)) - }); + let halves = client.map(|s| TaskIo::new(s.0).split()); let copied = halves.and_then(|(a, b)| copy(a, b)); let amt = t!(l.run(copied)); @@ -55,21 +49,3 @@ fn echo_server() { assert_eq!(amt, msg.len() as u64 * 1024); } - -struct SocketIo(Arc<TcpStream>); - -impl Read for SocketIo { - fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { - (&*self.0).read(buf) - } -} - -impl Write for SocketIo { - fn write(&mut self, buf: &[u8]) -> io::Result<usize> { - (&*self.0).write(buf) - } - - fn flush(&mut self) -> io::Result<()> { - (&*self.0).flush() - } -} |