Expand description
Complete async runtime utilities and traits.
This re-exports all items from futures_lite, providing:
- Async I/O traits:
AsyncRead,AsyncWrite,AsyncBufRead, etc. - Stream utilities:
Stream,StreamExtfor async iteration - Future utilities:
FutureExt,future::ready,future::pending - Async combinators:
join!,try_join!,select! - I/O utilities: Async file operations, networking, etc.
This saves you from having to import futures_lite directly and provides
all the async primitives needed for HTTP operations.
§Examples
§Stream Processing
use http_kit::utils::{stream, StreamExt};
let data = vec!["chunk1", "chunk2", "chunk3"];
let mut stream = stream::iter(data);
while let Some(chunk) = stream.next().await {
println!("Processing: {}", chunk);
}§Async I/O
use http_kit::utils::{AsyncReadExt, AsyncWriteExt};
// These traits are available for async I/O operationsTraits Future, Stream, AsyncRead, AsyncWrite, AsyncBufRead,
AsyncSeek, and their extensions.
§Examples
use futures_lite::prelude::*;Re-exports§
pub use prelude::Future;pub use prelude::Stream;pub use prelude::AsyncBufRead;pub use prelude::AsyncRead;pub use prelude::AsyncSeek;pub use prelude::AsyncWrite;pub use prelude::FutureExt as _;pub use prelude::StreamExt as _;pub use prelude::AsyncBufReadExt as _;pub use prelude::AsyncReadExt as _;pub use prelude::AsyncSeekExt as _;pub use prelude::AsyncWriteExt as _;