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 Meshercoordinates the rest of the objects, e.g. managing Transports, automatically handling bounces, etc.
trait Transportdefines the interface that
Mesheruses to control Transports. If you need them, e.g. for testing, there are debug transports available in
struct Packetmakes 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
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.
Transports which may be useful while debugging or testing mesher-based applications.
Contains the error-reporting enum for mesher.
Re-exports all the commonly used parts for slightly more ergonomic use, at the expense of cluttering up the global namespace. Usage:
The control interface for a single mesher.
Represents a single message received by a mesher.
Represents a packet to be sent out.
Transport is the core of mesher's communication system.