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§
- async_
snow - contains encrypted stream
- err
- contains custom error types and result
- serialization
- contains the serialization methods for channels and formats
- type_
iter - 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§
- err
- construct an io error rapidly
- pipe
- used for internals.
pipe!(tx i32, rx u32)->TypeIter<Tx<i32>, TypeIter<Rx<u32>>> - pipeline
- Declares pipelines. Pipelines are used to guarantee that communication is correct at compile-time.
- rx
- shorten rx calls
- tx
- shorten tx calls
Enums§
- Bare
Channel BareChannelis a non-generic version ofChannelused to make conversion between channels types easier- Channel
Channelabstracts network communications as object streams.
Traits§
- Read
Write - wrapper trait to allow any type that implements
Read,Write,Send,Syncand'staticto useChannel
Type Aliases§
- AnyChannel
- channel that allows input with any serialization format. supports bincode, json, bson and postcard and deserializes in that order
- AnyInput
- read format that allows input with any serialization format. supports bincode, json, bson and postcard and deserializes in that order