A protocol and a communication library for a mostly line-based key/value pair protocol.
Communication buffers
blather defines a few buffers which it uses to send and receive information over its communication module.
Telegrams
The most central communication buffer is [Telegram], which
consists of a topic and zero or more key/value pairs, where each key must
be unique.
use Telegram;
let mut tg = new_topic.unwrap;
tg.add_param;
tg.add_param;
tg.add_param;
assert_eq!;
assert_eq!;
assert_eq!;
Params
These are simple key/value pairs, which can be seen as HashMap's with
some restrictions on key names.
use Params;
let mut params = new;
params.add_param;
params.add_param;
params.add_param;
assert_eq!;
assert_eq!;
A set of "parameters", represented by the Params struct, is a set of
key/value pairs. They look similar to Telegrams because the Telegram's
implement their key/value paris using a Params buffer.
Communication
blather handles transmission using tokio-util's
Framed framework, by
implementing its own Codec. It can be used to send and
receive the various communication buffers supported by the crate.