Skip to content

Commit

Permalink
Replace hyper with direct h2 usage for outbound HBONE (istio#990)
Browse files Browse the repository at this point in the history
* refactor pool

* wip h2

* wip

* WIP

* first test passing

* test working reliably

* working except idle_eviction_with_persistent

* Ready to go

* Ready to go

* fixes

* lock
  • Loading branch information
howardjohn authored May 1, 2024
1 parent 0324a49 commit 44d842c
Show file tree
Hide file tree
Showing 7 changed files with 715 additions and 894 deletions.
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ backoff = "0.4.0"
pin-project-lite = "0.2"
pingora-pool = "0.1.0"
flurry = "0.5.0"
h2 = "0.4"
http = "1.1"

[target.'cfg(target_os = "linux")'.dependencies]
netns-rs = "0.1"
Expand Down
20 changes: 11 additions & 9 deletions fuzz/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions src/proxy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ use crate::state::{DemandProxyState, WorkloadInfo};
use crate::{config, identity, socket, tls};

pub mod connection_manager;
pub mod h2_client;
mod inbound;
mod inbound_passthrough;
#[allow(non_camel_case_types)]
Expand Down Expand Up @@ -259,9 +260,15 @@ pub enum Error {
#[error("http handshake failed: {0}")]
HttpHandshake(#[source] hyper::Error),

#[error("http2 handshake failed: {0}")]
Http2Handshake(#[source] h2::Error),

#[error("http failed: {0}")]
Http(#[from] hyper::Error),

#[error("h2 failed: {0}")]
H2(#[from] h2::Error),

#[error("no upgrade available: {0}")]
NoUpgrade(hyper::Error),

Expand Down
Loading

0 comments on commit 44d842c

Please sign in to comment.