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 BareChannel
is a non-generic version ofChannel
used to make conversion between channels types easier- Channel
Channel
abstracts network communications as object streams.
Traits§
- Read
Write - wrapper trait to allow any type that implements
Read
,Write
,Send
,Sync
and'static
to 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