codec: move into tokio-util (#1675)

Related to #1318, Tokio APIs that are "less stable" are moved into a new
`tokio-util` crate. This crate will mirror `tokio` and provide
additional APIs that may require a greater rate of breaking changes.

As examples require `tokio-util`, they are moved into a separate
crate (`examples`). This has the added advantage of being able to avoid
example only dependencies in the `tokio` crate.
This commit is contained in:
Carl Lerche
2019-10-22 10:13:49 -07:00
committed by GitHub
parent b8cee1a60a
commit cfc15617a5
53 changed files with 324 additions and 485 deletions
+6 -7
View File
@@ -4,16 +4,15 @@
#[macro_use]
extern crate tracing;
use std::env;
use std::io;
use std::process::{ExitStatus, Stdio};
use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
use tokio_net::process::{Child, Command};
use futures_util::future;
use futures_util::future::FutureExt;
use futures_util::stream::StreamExt;
use tokio::codec::{FramedRead, LinesCodec};
use tokio::io::AsyncWriteExt;
use tokio_net::process::{Child, Command};
use std::env;
use std::io;
use std::process::{ExitStatus, Stdio};
mod support;
use support::*;
@@ -51,7 +50,7 @@ async fn feed_cat(mut cat: Child, n: usize) -> io::Result<ExitStatus> {
};
let read = async {
let mut reader = FramedRead::new(stdout, LinesCodec::new());
let mut reader = BufReader::new(stdout).lines();
let mut num_lines = 0;
// Try to read `n + 1` lines, ensuring the last one is empty