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
//! # Miden Transport Layer Client Library
//!
//! Implementation of the Miden Transport Layer node for private notes.
//!
//! The implementation is focused on performance and privacy.
//! Only (optionally-encrypted) notes are stored.
//!
//! Features include,
//! - sending and receiving notes;
//! - streaming of notes;
//! - note persistence using proven-databases and respective maintenance;
//! - metrics and traces, exported through the OpenTelemetry framework for monitoring.
//!
//! ## Database
//! Notes are stored in a database, implementing the
//! [`Database`](`crate::database::DatabaseBackend`). A SQLite-based implementation is provided.
//!
//! ### Maintenance
//! A periodic task [`DatabaseMaintenance`](`crate::database::DatabaseMaintenance`) takes care of
//! maintaining the database (cleaning up older notes).
//!
//! ## Telemetry
//! Metrics and traces to monitor the node state are provided.
//! While metrics provide insights into general requests stats, traces can provide insights into
//! specific requests.
//! Metrics and traces can be exported following using the [OpenTelemetry](https://opentelemetry.io) framework.
/// Database
/// Error management
/// Tracing, metrics export configuration
/// Metrics data structures
/// Main node implementation
/// Testing functions
///
/// Available during tests or when the `testing` feature is enabled.
/// Types used
pub use ;
pub use GrpcServer;
pub use ;