1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Crosis is an API that sits on-top of [Replit]s container  protocol to help
//! with client/channel management and sending/receiving data.
//! 
//! The Crosis API uses [Replit]s container protocol to interface with said
//! containers, the [Protocol] module is where you'll find the interface. The
//! Crosis API acts as a layer on-top of the protocol, providing a [Client] which
//! manages sending/receiving data and funnelling it from/to the relevant [Channel].
//! 
//! ## Example
//! ```rust
//! // get get_token and client from crosis
//! use crosis::{ get_token, Client };
//! 
//! // get the one-time token using the get_token helper function
//! let token = get_token("<repl_id>", "<api_key>");
//! 
//! // create a client
//! let client = Client::new(token.as_str());
//! 
//! // do stuff with client
//! ```
//! 
//! ## Notes
//! If you want to use the [Protocol] by itself - without the higher-level Crosis
//! API - you can use `default-features = false` in `Cargo.toml`.
//! 
//! This implementation uses [prost] for encoding and decoding protobuf data.
//! 
//! [Learn More](http://protodoc.turbio.repl.co/protov2)
//! 
//! [Replit]: https://repl.it
//! [Client]: ./client/struct.Client.html
//! [Channel]: ./channel/struct.Channel.html
//! [Protocol]: ./protocol/index.html
//! [prost]: https://crates.io/crates/prost

pub mod protocol;