Simply echo example: split() can now happen on the main task.

This commit is contained in:
David Renshaw 2016-11-05 15:16:29 -04:00
parent 614887b8c1
commit 556143b7c6

View File

@ -48,8 +48,8 @@ fn main() {
// We use the `io::copy` future to copy all data from the
// reading half onto the writing half.
let done = socket.incoming().for_each(move |(socket, addr)| {
let pair = futures::lazy(|| futures::finished(socket.split()));
let amt = pair.and_then(|(reader, writer)| copy(reader, writer));
let (reader, writer) = socket.split();
let amt = copy(reader, writer);
// Once all that is done we print out how much we wrote, and then
// critically we *spawn* this future which allows it to run