split Client into (Client, Connection) (#107)

The Connection type is a `Future` that drives all of the IO of the
client connection.

The Client type is separate, and is used to send requests into the
connection.
This commit is contained in:
Sean McArthur
2017-09-28 16:55:12 -07:00
committed by GitHub
parent 510800ef28
commit f8efb053b9
23 changed files with 489 additions and 262 deletions

View File

@@ -58,7 +58,7 @@ pub fn main() {
let tcp = io_dump::Dump::to_stdout(res.unwrap());
Client::handshake(tcp)
}).then(|res| {
let mut client = res.unwrap();
let (mut client, h2) = res.unwrap();
println!("sending request");
@@ -75,8 +75,8 @@ pub fn main() {
// send trailers
stream.send_trailers(trailers).unwrap();
// Spawn a task to run the client...
handle.spawn(client.map_err(|e| println!("GOT ERR={:?}", e)));
// Spawn a task to run the conn...
handle.spawn(h2.map_err(|e| println!("GOT ERR={:?}", e)));
stream
.and_then(|response| {