diff options
author | hozan23 <hozan23@proton.me> | 2023-11-22 21:48:09 +0300 |
---|---|---|
committer | hozan23 <hozan23@proton.me> | 2023-11-22 21:48:09 +0300 |
commit | d4c8251ea3c4f6e809bb19f8faa907083316f483 (patch) | |
tree | 5b2409cb338f4c1f46029b27c94f0bcfe5b02fec | |
parent | 34b0a91dbb107962dae4f593a36d30a29ea87c45 (diff) |
add Docs section to README.md file & add an example to p2p crate
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | README.md | 10 | ||||
-rw-r--r-- | p2p/src/backend.rs | 34 | ||||
-rw-r--r-- | p2p/src/lib.rs | 37 |
4 files changed, 47 insertions, 36 deletions
@@ -5,7 +5,6 @@ members = [ "p2p", "jsonrpc", ] - resolver = "2" [workspace.package] @@ -17,3 +16,4 @@ karyons_core = { path = "core" } karyons_net = { path = "net" } karyons_p2p = { path = "p2p" } karyons_jsonrpc = { path = "jsonrpc" } + @@ -16,7 +16,7 @@ Join us on: along with common network functionality. - [karyons p2p](./p2p): A lightweight, extensible, and customizable peer-to-peer (p2p) network stack. -- [karyons jsonrpc](./jsonrpc): A fast and lightweight async +- [karyons jsonrpc](./jsonrpc): A fast and small async [JSONRPC2.0](https://www.jsonrpc.org/specification) implementation. - karyons crdt: A [CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) implementation for building collaborative software. @@ -29,6 +29,14 @@ crdt and karyons store, along with major changes to the network stack, including TLS implementation. You can check the [issues](https://github.com/karyons/karyons/issues) for updates on ongoing tasks. +## Docs + +To generate karyons Rust API Documentation, run the following command: + +```bash +$ cargo doc --no-deps --all --document-private-items --open +``` + ## Thanks Big thanks to [Ink & Switch](https://www.inkandswitch.com/) team, diff --git a/p2p/src/backend.rs b/p2p/src/backend.rs index bb0d891..4410205 100644 --- a/p2p/src/backend.rs +++ b/p2p/src/backend.rs @@ -20,40 +20,6 @@ pub type ArcBackend = Arc<Backend>; /// the P2P network. /// /// -/// # Example -/// ``` -/// use std::sync::Arc; -/// -/// use easy_parallel::Parallel; -/// use smol::{channel as smol_channel, future, Executor}; -/// -/// use karyons_p2p::{Backend, Config, PeerID}; -/// -/// let peer_id = PeerID::random(); -/// -/// // Create the configuration for the backend. -/// let mut config = Config::default(); -/// -/// -/// // Create a new Executor -/// let ex = Arc::new(Executor::new()); -/// -/// // Create a new Backend -/// let backend = Backend::new(peer_id, config, ex.clone()); -/// -/// let task = async { -/// // Run the backend -/// backend.run().await.unwrap(); -/// -/// // .... -/// -/// // Shutdown the backend -/// backend.shutdown().await; -/// }; -/// -/// future::block_on(ex.run(task)); -/// -/// ``` pub struct Backend { /// The Configuration for the P2P network. config: Arc<Config>, diff --git a/p2p/src/lib.rs b/p2p/src/lib.rs index 3cf1e7c..c0a3b5b 100644 --- a/p2p/src/lib.rs +++ b/p2p/src/lib.rs @@ -1,3 +1,40 @@ +//! A lightweight, extensible, and customizable peer-to-peer (p2p) network stack. +//! +//! # Example +//! ``` +//! use std::sync::Arc; +//! +//! use easy_parallel::Parallel; +//! use smol::{channel as smol_channel, future, Executor}; +//! +//! use karyons_p2p::{Backend, Config, PeerID}; +//! +//! let peer_id = PeerID::random(); +//! +//! // Create the configuration for the backend. +//! let mut config = Config::default(); +//! +//! +//! // Create a new Executor +//! let ex = Arc::new(Executor::new()); +//! +//! // Create a new Backend +//! let backend = Backend::new(peer_id, config, ex.clone()); +//! +//! let task = async { +//! // Run the backend +//! backend.run().await.unwrap(); +//! +//! // .... +//! +//! // Shutdown the backend +//! backend.shutdown().await; +//! }; +//! +//! future::block_on(ex.run(task)); +//! +//! ``` +//! mod backend; mod config; mod connection; |