Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ members = [
"examples",
"codegen",
"grpc",
"xds-client",
"interop", # Tests
"tests/disable_comments",
"tests/wellknown",
Expand Down
20 changes: 20 additions & 0 deletions xds-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[package]
name = "xds-client"
description = "An xDS client implementation in Rust"
version = "0.1.0-alpha.1"
edition = "2021"
homepage = "https://github.com/hyperium/tonic"
repository = "https://github.com/hyperium/tonic"
license = "MIT"
rust-version = { workspace = true }

[lints]
workspace = true

[dependencies]

[features]
default = ["transport-tonic"]
transport-tonic = ["rt-tokio", "codegen-prost"]
rt-tokio = []
codegen-prost = []
1 change: 1 addition & 0 deletions xds-client/src/client/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
//! Client interface through which the user can watch and receive updates for xDS resources.
1 change: 1 addition & 0 deletions xds-client/src/error.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
//! Error types for the xDS client.
13 changes: 13 additions & 0 deletions xds-client/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//! A Rust implementation of [xDS](https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol) client.
//!
//! # Feature Flags
//!
//! - `transport-tonic`: Enables the use of the `tonic` transport. This enables `rt-tokio` and `codegen-prost` features. Enabled by default.
//! - `rt-tokio`: Enables the use of the `tokio` runtime. Enabled by default.
//! - `codegen-prost`: Enables the use of the `prost` codec generated resources. Enabled by default.

pub mod client;
pub mod error;
pub mod resource;
pub mod runtime;
pub mod transport;
4 changes: 4 additions & 0 deletions xds-client/src/resource/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
//! Provides abstraction for xDS resources.

#[cfg(feature = "codegen-prost")]
pub mod prost;
1 change: 1 addition & 0 deletions xds-client/src/resource/prost.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
//! `prost` codec-specific resources.
4 changes: 4 additions & 0 deletions xds-client/src/runtime/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
//! Provides abstraction for async runtimes.

#[cfg(feature = "rt-tokio")]
pub mod tokio;
1 change: 1 addition & 0 deletions xds-client/src/runtime/tokio.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
//! `tokio` based runtime implementation.
4 changes: 4 additions & 0 deletions xds-client/src/transport/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
//! Provides abstraction for transport layers.

#[cfg(feature = "transport-tonic")]
pub mod tonic;
1 change: 1 addition & 0 deletions xds-client/src/transport/tonic.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
//! `tonic` based transport implementation.
Loading