diff --git a/Cargo.toml b/Cargo.toml index eeece089..d3e2b376 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,18 +25,18 @@ license = "MIT" repository = "https://github.com/compio-rs/compio" [workspace.dependencies] -compio-buf = { path = "./compio-buf", version = "0.4.0" } -compio-driver = { path = "./compio-driver", version = "0.4.0", default-features = false } -compio-runtime = { path = "./compio-runtime", version = "0.4.0" } +compio-buf = { path = "./compio-buf", version = "0.5.0" } +compio-driver = { path = "./compio-driver", version = "0.5.0", default-features = false } +compio-runtime = { path = "./compio-runtime", version = "0.5.0" } compio-macros = { path = "./compio-macros", version = "0.1.2" } -compio-fs = { path = "./compio-fs", version = "0.4.0" } -compio-io = { path = "./compio-io", version = "0.3.0" } -compio-net = { path = "./compio-net", version = "0.4.0" } -compio-signal = { path = "./compio-signal", version = "0.2.1" } -compio-dispatcher = { path = "./compio-dispatcher", version = "0.3.0" } +compio-fs = { path = "./compio-fs", version = "0.5.0" } +compio-io = { path = "./compio-io", version = "0.4.0" } +compio-net = { path = "./compio-net", version = "0.5.0" } +compio-signal = { path = "./compio-signal", version = "0.3.0" } +compio-dispatcher = { path = "./compio-dispatcher", version = "0.4.0" } compio-log = { path = "./compio-log", version = "0.1.0" } -compio-tls = { path = "./compio-tls", version = "0.2.0", default-features = false } -compio-process = { path = "./compio-process", version = "0.1.0" } +compio-tls = { path = "./compio-tls", version = "0.3.0", default-features = false } +compio-process = { path = "./compio-process", version = "0.2.0" } compio-quic = { path = "./compio-quic", version = "0.1.0" } bytes = "1.7.1" diff --git a/compio-buf/Cargo.toml b/compio-buf/Cargo.toml index 16c34ed4..18b36be1 100644 --- a/compio-buf/Cargo.toml +++ b/compio-buf/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-buf" -version = "0.4.0" +version = "0.5.0" description = "Buffer trait for completion based async IO" categories = ["asynchronous"] keywords = ["async"] diff --git a/compio-dispatcher/Cargo.toml b/compio-dispatcher/Cargo.toml index a7f5154a..dd5e4ff4 100644 --- a/compio-dispatcher/Cargo.toml +++ b/compio-dispatcher/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-dispatcher" -version = "0.3.0" +version = "0.4.0" description = "Multithreading dispatcher for compio" categories = ["asynchronous"] keywords = ["async", "runtime"] diff --git a/compio-driver/Cargo.toml b/compio-driver/Cargo.toml index b7daf11e..12f73b9d 100644 --- a/compio-driver/Cargo.toml +++ b/compio-driver/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-driver" -version = "0.4.0" +version = "0.5.0" description = "Low-level driver for compio" categories = ["asynchronous"] keywords = ["async", "iocp", "io-uring"] diff --git a/compio-fs/Cargo.toml b/compio-fs/Cargo.toml index 2e2aee47..f6946f6a 100644 --- a/compio-fs/Cargo.toml +++ b/compio-fs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-fs" -version = "0.4.0" +version = "0.5.0" description = "Filesystem IO for compio" categories = ["asynchronous", "filesystem"] keywords = ["async", "fs"] diff --git a/compio-io/Cargo.toml b/compio-io/Cargo.toml index c7eaaedd..670747ee 100644 --- a/compio-io/Cargo.toml +++ b/compio-io/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-io" -version = "0.3.0" +version = "0.4.0" description = "IO traits for completion based async IO" categories = ["asynchronous"] keywords = ["async", "io"] diff --git a/compio-net/Cargo.toml b/compio-net/Cargo.toml index 46a704c7..b98d2195 100644 --- a/compio-net/Cargo.toml +++ b/compio-net/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-net" -version = "0.4.0" +version = "0.5.0" description = "Networking IO for compio" categories = ["asynchronous", "network-programming"] keywords = ["async", "net"] diff --git a/compio-process/Cargo.toml b/compio-process/Cargo.toml index e2bd864c..304f0539 100644 --- a/compio-process/Cargo.toml +++ b/compio-process/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-process" -version = "0.1.0" +version = "0.2.0" description = "Processes for compio" categories = ["asynchronous"] keywords = ["async", "process"] diff --git a/compio-quic/Cargo.toml b/compio-quic/Cargo.toml index d4a8a91b..791dd187 100644 --- a/compio-quic/Cargo.toml +++ b/compio-quic/Cargo.toml @@ -17,12 +17,12 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] # Workspace dependencies compio-io = { workspace = true } -compio-buf = { workspace = true } +compio-buf = { workspace = true, features = ["bytes"] } compio-log = { workspace = true } compio-net = { workspace = true } compio-runtime = { workspace = true, features = ["time"] } -quinn-proto = "0.11.3" +quinn-proto = "0.11.8" rustls = { workspace = true } rustls-platform-verifier = { version = "0.3.3", optional = true } rustls-native-certs = { workspace = true, optional = true } @@ -30,7 +30,6 @@ webpki-roots = { version = "0.26.3", optional = true } h3 = { version = "0.0.6", optional = true } # Utils -bytes = { workspace = true } flume = { workspace = true } futures-util = { workspace = true } rustc-hash = "2.0.0" @@ -44,7 +43,6 @@ windows-sys = { workspace = true, features = ["Win32_Networking_WinSock"] } libc = { workspace = true } [dev-dependencies] -compio-buf = { workspace = true, features = ["bytes"] } compio-dispatcher = { workspace = true } compio-driver = { workspace = true } compio-fs = { workspace = true } @@ -53,7 +51,7 @@ compio-runtime = { workspace = true, features = ["criterion"] } criterion = { workspace = true, features = ["async_tokio"] } http = "1.1.0" -quinn = "0.11.3" +quinn = "0.11.5" rand = { workspace = true } rcgen = "0.13.1" socket2 = { workspace = true, features = ["all"] } diff --git a/compio-quic/benches/quic.rs b/compio-quic/benches/quic.rs index 66694da5..c63d6c93 100644 --- a/compio-quic/benches/quic.rs +++ b/compio-quic/benches/quic.rs @@ -4,7 +4,7 @@ use std::{ time::Instant, }; -use bytes::Bytes; +use compio_buf::bytes::Bytes; use criterion::{criterion_group, criterion_main, Bencher, BenchmarkId, Criterion, Throughput}; use futures_util::{stream::FuturesUnordered, StreamExt}; use rand::{thread_rng, RngCore}; diff --git a/compio-quic/examples/http3-client.rs b/compio-quic/examples/http3-client.rs index 1ddc6936..3d8566a5 100644 --- a/compio-quic/examples/http3-client.rs +++ b/compio-quic/examples/http3-client.rs @@ -4,7 +4,7 @@ use std::{ str::FromStr, }; -use bytes::Buf; +use compio_buf::bytes::Buf; use compio_io::AsyncWriteAtExt; use compio_net::ToSocketAddrsAsync; use compio_quic::ClientBuilder; diff --git a/compio-quic/examples/http3-server.rs b/compio-quic/examples/http3-server.rs index 96450910..66cf2754 100644 --- a/compio-quic/examples/http3-server.rs +++ b/compio-quic/examples/http3-server.rs @@ -1,4 +1,4 @@ -use bytes::Bytes; +use compio_buf::bytes::Bytes; use compio_quic::ServerBuilder; use http::{HeaderMap, Response}; use tracing_subscriber::EnvFilter; diff --git a/compio-quic/src/connection.rs b/compio-quic/src/connection.rs index 181aac18..7ae66786 100644 --- a/compio-quic/src/connection.rs +++ b/compio-quic/src/connection.rs @@ -8,8 +8,7 @@ use std::{ time::{Duration, Instant}, }; -use bytes::Bytes; -use compio_buf::BufResult; +use compio_buf::{bytes::Bytes, BufResult}; use compio_log::{error, Instrument}; use compio_runtime::JoinHandle; use flume::{Receiver, Sender}; @@ -984,7 +983,7 @@ pub enum OpenStreamError { #[cfg(feature = "h3")] pub(crate) mod h3_impl { - use bytes::{Buf, BytesMut}; + use compio_buf::bytes::{Buf, BytesMut}; use futures_util::ready; use h3::{ error::Code, diff --git a/compio-quic/src/endpoint.rs b/compio-quic/src/endpoint.rs index 99d7400f..5cad99f8 100644 --- a/compio-quic/src/endpoint.rs +++ b/compio-quic/src/endpoint.rs @@ -9,8 +9,7 @@ use std::{ time::Instant, }; -use bytes::Bytes; -use compio_buf::BufResult; +use compio_buf::{bytes::Bytes, BufResult}; use compio_log::{error, Instrument}; use compio_net::{ToSocketAddrsAsync, UdpSocket}; use compio_runtime::JoinHandle; diff --git a/compio-quic/src/recv_stream.rs b/compio-quic/src/recv_stream.rs index 93cff0c2..8e7cf38f 100644 --- a/compio-quic/src/recv_stream.rs +++ b/compio-quic/src/recv_stream.rs @@ -5,8 +5,10 @@ use std::{ task::{Context, Poll}, }; -use bytes::{BufMut, Bytes}; -use compio_buf::{BufResult, IoBufMut}; +use compio_buf::{ + bytes::{BufMut, Bytes}, + BufResult, IoBufMut, +}; use compio_io::AsyncRead; use futures_util::{future::poll_fn, ready}; use quinn_proto::{Chunk, Chunks, ClosedStream, ReadableError, StreamId, VarInt}; diff --git a/compio-quic/src/send_stream.rs b/compio-quic/src/send_stream.rs index 3e0a1a2a..801376a8 100644 --- a/compio-quic/src/send_stream.rs +++ b/compio-quic/src/send_stream.rs @@ -4,8 +4,7 @@ use std::{ task::{Context, Poll}, }; -use bytes::Bytes; -use compio_buf::{BufResult, IoBuf}; +use compio_buf::{bytes::Bytes, BufResult, IoBuf}; use compio_io::AsyncWrite; use futures_util::{future::poll_fn, ready}; use quinn_proto::{ClosedStream, FinishError, StreamId, VarInt, Written}; @@ -368,7 +367,7 @@ impl futures_util::AsyncWrite for SendStream { #[cfg(feature = "h3")] pub(crate) mod h3_impl { - use bytes::Buf; + use compio_buf::bytes::Buf; use h3::quic::{self, Error, WriteBuf}; use super::*; diff --git a/compio-quic/tests/echo.rs b/compio-quic/tests/echo.rs index 9ac40196..aa1d26a0 100644 --- a/compio-quic/tests/echo.rs +++ b/compio-quic/tests/echo.rs @@ -3,7 +3,7 @@ use std::{ net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}, }; -use bytes::Bytes; +use compio_buf::bytes::Bytes; use compio_quic::{Endpoint, RecvStream, SendStream, TransportConfig}; mod common; diff --git a/compio-runtime/Cargo.toml b/compio-runtime/Cargo.toml index 32402b1b..e53ef233 100644 --- a/compio-runtime/Cargo.toml +++ b/compio-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-runtime" -version = "0.4.0" +version = "0.5.0" description = "High-level runtime for compio" categories = ["asynchronous"] keywords = ["async", "runtime"] diff --git a/compio-signal/Cargo.toml b/compio-signal/Cargo.toml index 1fd3071a..cf1fba9f 100644 --- a/compio-signal/Cargo.toml +++ b/compio-signal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-signal" -version = "0.2.1" +version = "0.3.0" description = "Signal handling for compio" categories = ["asynchronous"] keywords = ["async", "signal"] diff --git a/compio-tls/Cargo.toml b/compio-tls/Cargo.toml index c3821eb2..31ce789a 100644 --- a/compio-tls/Cargo.toml +++ b/compio-tls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio-tls" -version = "0.2.0" +version = "0.3.0" description = "TLS adaptor with compio" categories = ["asynchronous", "network-programming"] keywords = ["async", "net", "tls"] diff --git a/compio/Cargo.toml b/compio/Cargo.toml index 9451e526..99490858 100644 --- a/compio/Cargo.toml +++ b/compio/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "compio" -version = "0.11.0" +version = "0.12.0" description = "Completion based async runtime" categories = ["asynchronous", "filesystem", "network-programming"] keywords = ["async", "fs", "iocp", "io-uring", "net"] @@ -107,6 +107,7 @@ all = [ "rustls", "process", "quic", + "h3", ] arrayvec = ["compio-buf/arrayvec"]