diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2021-02-23 23:26:48 -0500 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2021-02-23 23:26:48 -0500 |
commit | 1dbab207ece88a47f92b951a83ef8d95dc40fe1c (patch) | |
tree | e93fe962328364bde9e5ac2bbdb80c62746ff28a /ipfs-api-examples/examples/get_swarm.rs | |
parent | fd4a1e309d565d88c5e394e9e8411f4968499d18 (diff) |
migrate examples to separate crate
Diffstat (limited to 'ipfs-api-examples/examples/get_swarm.rs')
-rw-r--r-- | ipfs-api-examples/examples/get_swarm.rs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ipfs-api-examples/examples/get_swarm.rs b/ipfs-api-examples/examples/get_swarm.rs new file mode 100644 index 0000000..02ea599 --- /dev/null +++ b/ipfs-api-examples/examples/get_swarm.rs @@ -0,0 +1,48 @@ +// Copyright 2017 rust-ipfs-api Developers +// +// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or +// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or +// http://opensource.org/licenses/MIT>, at your option. This file may not be +// copied, modified, or distributed except according to those terms. +// + +use ipfs_api_examples::ipfs_api::{IpfsApi, IpfsClient}; + +// Creates an Ipfs client, and gets information about your local address, and +// connected peers. +// +#[ipfs_api_examples::main] +async fn main() { + tracing_subscriber::fmt::init(); + + eprintln!("connecting to localhost:5001..."); + + let client = IpfsClient::default(); + + match client.swarm_addrs_local().await { + Ok(local) => { + eprintln!("your addrs:"); + for addr in local.strings { + eprintln!(" {}", addr); + } + eprintln!(); + } + Err(e) => eprintln!("error getting local swarm addresses: {}", e), + } + + match client.swarm_peers().await { + Ok(connected) => { + eprintln!("connected:"); + for peer in connected.peers { + let streams: Vec<&str> = peer.streams.iter().map(|s| &s.protocol[..]).collect(); + eprintln!(" addr: {}", peer.addr); + eprintln!(" peer: {}", peer.peer); + eprintln!(" latency: {}", peer.latency); + eprintln!(" muxer: {}", peer.muxer); + eprintln!(" streams: {}", streams.join(", ")); + eprintln!(); + } + } + Err(e) => eprintln!("error getting swarm peers: {}", e), + } +} |