Skip to main content

rs_zero/rpc/
mod.rs

1//! RPC helpers built on tonic.
2
3#[cfg(feature = "discovery")]
4pub mod balancer;
5pub mod client;
6pub mod config;
7pub mod deadline;
8#[cfg(feature = "discovery")]
9pub mod discovery;
10pub mod interceptor;
11#[cfg(all(feature = "resil", feature = "cache-redis"))]
12mod limiter;
13#[cfg(feature = "resil")]
14pub mod resilience;
15#[cfg(feature = "resil")]
16pub mod resilience_layer;
17pub mod retry;
18pub mod server;
19pub mod streaming;
20
21#[cfg(feature = "discovery")]
22pub use client::{RpcConnectError, connect_discovered_channel, endpoint_from_rpc_endpoint};
23pub use client::{connect_channel, endpoint_from_config};
24#[cfg(all(feature = "resil", feature = "cache-redis"))]
25pub use config::RpcRateLimiterConfig;
26pub use config::{
27    LoadBalancePolicy, RpcClientConfig, RpcDeadlineConfig, RpcDiscoveryConfig,
28    RpcLoadBalanceConfig, RpcResilienceConfig, RpcRetryConfig, RpcServerConfig, RpcStreamingConfig,
29};
30#[cfg(feature = "observability")]
31pub use interceptor::trace_context_interceptor;
32pub use interceptor::{
33    REQUEST_ID_METADATA, deadline_interceptor, request_id_interceptor, resilience_rejection_status,
34    rpc_resilience_key,
35};
36#[cfg(feature = "resil")]
37pub use resilience::{RpcResilienceLayer, status_counts_as_failure};
38#[cfg(feature = "resil")]
39pub use resilience_layer::{RpcUnaryResilienceLayer, RpcUnaryResilienceService};
40pub use server::serve_health_with_shutdown;