Expand description
IGCP | intergalactic communications protocol
IGCP is designed to abstract over streams or low-level communication protocols. IGCP should be as high-level as possible while keeping configurability and zero-cost to the wire. The main abstraction IGCP offers are channels, which represent a stream of objects that can be sent or received. At the moment, IGCP channels are not completely zero-cost.
Re-exports
Modules
contains encrypted stream
contains custom error types and result
contains the serialization methods for channels and formats
Type juggling. Do not enter unless you want a headache, or if you want to understand how this works. I won’t bother documenting this.
Macros
construct an io error rapidly
used for internals.
pipe!(tx i32, rx u32)
-> TypeIter<Tx<i32>, TypeIter<Rx<u32>>>
Declares pipelines. Pipelines are used to guarantee that communication is correct at compile-time.
shorten rx calls
shorten tx calls
Enums
BareChannel
is a non-generic version of Channel
used to make conversion between channels types easier
Channel
abstracts network communications as object streams.
Traits
wrapper trait to allow any type that implements Read
, Write
, Send
, Sync
and 'static
to use Channel
Type Definitions
channel that allows input with any serialization format. supports bincode, json, bson and postcard and deserializes in that order
read format that allows input with any serialization format. supports bincode, json, bson and postcard and deserializes in that order