faucet_source_grpc/lib.rs
1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3//! # faucet-source-grpc
4//!
5//! A config-driven gRPC source that uses protobuf reflection to call
6//! any gRPC service dynamically and return records as JSON.
7//!
8//! Supports both [`RpcKind::Unary`] (one request → one response) and
9//! [`RpcKind::ServerStreaming`] (one request → server-driven stream of
10//! responses) — see the crate README for the differences in batching and
11//! reconnect behaviour.
12//!
13//! Requires a compiled `FileDescriptorSet` (produced by
14//! `protoc --descriptor_set_out=descriptor.bin`).
15
16pub mod config;
17pub mod stream;
18
19pub use faucet_core::{AuthSpec, FaucetError, SharedAuthProvider, Source};
20
21pub use config::{GrpcAuth, GrpcStreamConfig, MetadataEntry, RpcKind};
22pub use stream::GrpcStream;