[][src]Crate mesher

For information on the concepts underlying this library, see the project repo's README. The rest of this API documentation assumes you've read and understood it, and won't explain them. The README is also available at the root of the repo, as is standard.

The mesher API is fairly simple, and based around three pieces, which reflect the concepts described in the README:

  • struct Mesher coordinates the rest of the objects, e.g. managing Transports, automatically handling bounces, etc.
  • trait Transport defines the interface that Mesher uses to control Transports. If you need them, e.g. for testing, there are debug transports available in mesher::debug_transports.
  • struct Packet makes building signed and unsigned packets easier.

Also worth mentioning are the types in mesher::crypto, which encapsulate the manipulation of crypto primitives. You'll use them to pass keys into Mesher and Packet. They do offer secure keygen, but this crate will not handle storing keys for you, if you need that.

struct Message represents a message received.

There is, of course, a fail module, with the expected enum MesherFail and type Result for this crate's error handling.

Modules

crypto
debug_transports

Transports which may be useful while debugging or testing mesher-based applications.

fail

Contains the error-reporting enum for mesher.

prelude

Re-exports all the commonly used parts for slightly more ergonomic use, at the expense of cluttering up the global namespace. Usage:

Structs

Mesher

The control interface for a single mesher.

Message

Represents a single message received by a mesher.

Packet

Represents a packet to be sent out.

Traits

Transport

Transport is the core of mesher's communication system.