ddmw_client/lib.rs
1//! Client library for creating integrations against DDMW.
2//!
3//! # Establishing connections & basic communication
4//! Connections can be established to the DDMW server's client interfaces using
5//! the [`connect`](conn::connect) function in the [`conn`] module. This
6//! module also provides functions for:
7//! - sending commands and receiving replies.
8//! - ask the server who owns the connection.
9//!
10//! The `connect` method supports optionally authenticating the connection, but
11//! this can also be performed explicitly after the connection has been
12//! established using the [`authenticate()`](auth::Auth::authenticate) method
13//! in the [`auth`] module.
14//!
15//! # Application configuration
16//! Most, if not all, DDMW applications will require a few common configuration
17//! parameters. To this end a common configuration format is specified in the
18//! [`conf`] module. There's a helper function for loading and parsing such a
19//! configuration file.
20//!
21//! The configuration file is entirely optional, but it provides a common
22//! configuration file structure for applications to use.
23//!
24//! # Probing the server
25//! The DDMW servers' client interfaces support a few common commands which
26//! are typically used to simply for low-level availability checks and for
27//! quering the servers for static information. The [`probe`] module contains
28//! helper functions for accessing this type of data.
29//!
30//! # Data transfers
31//! The primary role of integrations such as native DDMW applications or
32//! proxies is to send and receiver messages or streams. The [`msg`] and
33//! [`strm`] modules provide functions for sending and receiving messages and
34//! streams.
35//!
36//! # Management
37//! To create management clients the [`mgmt`] module wrapper contains helper
38//! functions for management commands.
39
40//#![deny(missing_docs)]
41//#![deny(missing_crate_level_docs)]
42//#![deny(missing_doc_code_examples)]
43
44pub mod auth;
45pub mod conf;
46pub mod conn;
47pub mod err;
48pub mod mgmt;
49pub mod msg;
50pub mod probe;
51pub mod strm;
52pub mod types;
53
54mod utils;
55
56pub use err::Error;
57
58pub use conn::{expect_okfail, sendrecv};
59
60pub use conf::Config;
61
62// vim: set ft=rust et sw=2 ts=2 sts=2 cinoptions=2 tw=79 :