Skip to content

Commit 059f5d9

Browse files
committed
Add HTTP/2 multiplexed connection with concurrency control
## Summary - Introduce Connection<C>, a Tower Service-based HTTP/2 connection that multiplexes requests over a single H2 session with semaphore-backed concurrency control - Add TcpConnector service and ConnectionInfo/IntoConnectionInfo abstractions for URI-based TCP connection establishment
1 parent 9f3eb97 commit 059f5d9

File tree

8 files changed

+1478
-6
lines changed

8 files changed

+1478
-6
lines changed

Cargo.lock

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/service-client/Cargo.toml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,30 @@ bytestring = { workspace = true }
2828
futures = { workspace = true }
2929
h2 = "0.4.12"
3030
http = { workspace = true }
31+
http-body = { workspace = true }
3132
http-body-util = { workspace = true }
3233
http-serde = { workspace = true }
3334
hyper = { workspace = true, features = ["http1", "http2", "client"] }
3435
hyper-rustls = { workspace = true }
3536
hyper-util = { workspace = true, features = ["client-legacy"] }
3637
jsonwebtoken = { workspace = true }
38+
parking_lot = { workspace = true }
3739
pem = { version = "3.0.6" }
40+
pin-project = { workspace = true }
3841
ring = { version = "0.17.14" }
3942
rustls = { workspace = true }
4043
serde = { workspace = true }
4144
serde_json = { workspace = true }
4245
serde_with = { workspace = true }
4346
thiserror = { workspace = true }
44-
tower-service = { version = "0.3" }
47+
tokio = { workspace = true }
48+
tokio-util = { workspace = true }
49+
tokio-rustls = "0.26"
50+
tower = { workspace = true }
4551
tracing = { workspace = true }
4652
zstd = { workspace = true }
4753

4854
[dev-dependencies]
4955
googletest = { workspace = true }
50-
tempfile = { workspace = true }
56+
tempfile = { workspace = true }
57+
tokio-stream = {workspace = true}

crates/service-client/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ use std::sync::Arc;
3636

3737
mod http;
3838
mod lambda;
39+
pub mod pool;
3940
mod proxy;
4041
mod request_identity;
4142
mod utils;

0 commit comments

Comments
 (0)