#rpc #async #network #microservices #api

igcp

provides ergonomic abstractions for network communication; communication backend of Canary

6 releases

0.1.6 Jan 25, 2022
0.1.2 Jan 12, 2022
0.0.6 Dec 29, 2021

#2578 in Parser implementations

Download history 21/week @ 2023-07-18 23/week @ 2023-07-25 9/week @ 2023-08-01 16/week @ 2023-08-08 32/week @ 2023-08-15 15/week @ 2023-08-22 9/week @ 2023-08-29 30/week @ 2023-09-05 14/week @ 2023-09-12 10/week @ 2023-09-19 20/week @ 2023-09-26 15/week @ 2023-10-03 11/week @ 2023-10-10 21/week @ 2023-10-17 20/week @ 2023-10-24 25/week @ 2023-10-31

80 downloads per month
Used in 3 crates (via sia)

MIT license

68KB
1K SLoC

IGCP

IGCP is the communication backend of Canary. It provides a simple Channel type that represents a stream of objects, and a serializable std::io::Result.

async fn send(mut channel: Channel) -> Result<()> {
    channel.send("hello world!").await?;
    channel.send(42).await?;
    Ok(())
}

lib.rs:

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.

Dependencies

~8–20MB
~303K SLoC