1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! Low-level gRPC API for direct protocol buffer access.
//!
//! This module exposes the raw gRPC client and protocol buffer types for advanced
//! use cases that require direct access to the underlying protocol.
//!
//! # When to use this module
//!
//! - Building custom tooling that needs raw protocol buffer access
//! - Implementing advanced streaming patterns not covered by the high-level API
//! - Debugging or introspecting the wire protocol
//! - Interoperating with other gRPC clients
//!
//! # When to use the high-level API instead
//!
//! For most application code, prefer the types in [`crate::client`] which:
//! - Use domain types from `evidentsource_core::domain`
//! - Provide better type safety and ergonomics
//! - Handle protocol buffer conversions automatically
//!
//! # Example
//!
//! ```rust,ignore
//! use evidentsource_client::grpc::{EvidentSourceClient, proto};
//!
//! let mut client = EvidentSourceClient::new("http://localhost:50051").await?;
//!
//! // Direct proto access for advanced use cases
//! let db = client.fetch_latest_database("my-db".into()).await?;
//! println!("Database revision: {}", db.revision);
//! ```
/// Protocol buffer types for direct gRPC access.
///
/// These are the raw protobuf-generated types. For most use cases,
/// prefer the domain types from `evidentsource_core::domain`.
// Re-export the internal client types for the grpc API
pub use crateError as GrpcError;
pub use crateEvidentSourceClient;