Expand description

Canary

Canary is a library for making communication through the network easy. It abstracts over network primitives such as streams and provides constructs that are easier to use such as Channel.

The main constructs offered by Canary are:

  • Channels
  • Providers

Channels help communicate through the network, and providers help create endpoints through which you can get Channels.

The crate is well-documented, but if you need any examples you should use the book, and additional questions should be asked in the discord

Re-exports

pub use channel::channels::Channel;

Modules

Contains encrypted stream

Contains channels and constructs associated with them

Contains common imports

Contains providers and address

Contains the serialization methods for channels and formats

Contains types that allow compile-time checking of message order. It can help debug complex systems. Here be dragons

Macros

construct an io error rapidly

used for internals. pipe!(send i32, receive u32) -> TypeIter<Tx<i32>, TypeIter<Rx<u32>>>

Declares pipelines. Pipelines are used to guarantee that communication is correct at compile-time.

shorten receive calls

shorten send calls

Structs

a result type equivalent to std::io::Error, but implements Serialize and Deserialize

Type Definitions

a result type equivalent to std::io::Result, but implements Serialize and Deserialize