Expand description

Client library for creating integrations against DDMW.

Establishing connections & basic communication

Connections can be established to the DDMW server’s client interfaces using the connect function in the conn module. This module also provides functions for:

  • sending commands and receiving replies.
  • ask the server who owns the connection.

The connect method supports optionally authenticating the connection, but this can also be performed explicitly after the connection has been established using the authenticate() method in the auth module.

Application configuration

Most, if not all, DDMW applications will require a few common configuration parameters. To this end a common configuration format is specified in the conf module. There’s a helper function for loading and parsing such a configuration file.

The configuration file is entirely optional, but it provides a common configuration file structure for applications to use.

Probing the server

The DDMW servers’ client interfaces support a few common commands which are typically used to simply for low-level availability checks and for quering the servers for static information. The probe module contains helper functions for accessing this type of data.

Data transfers

The primary role of integrations such as native DDMW applications or proxies is to send and receiver messages or streams. The msg and strm modules provide functions for sending and receiving messages and streams.


To create management clients the mgmt module wrapper contains helper functions for management commands.


pub use err::Error;
pub use conn::expect_okfail;
pub use conn::sendrecv;
pub use conf::Config;


Authentication and unauthentication.

DDMW client applications (including proxies) will contain common configuration parameters. This module is used to provide a defacto-standard interface and layout for loading client configuration parameters.

Methods used to establish connections to DDMW Core servers’ client interfaces.

Error values.

Collection of management helper modules.

Message sending and receiving functions.

Core node inspection functions.

Stream sending and receiving functions.

Various types used when communicating with core servers.