diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2017-10-10 17:14:00 -0400 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2017-10-10 17:14:00 -0400 |
commit | 013bba6ce41d2ebdd64e7bc25f6a221a85d1ec0d (patch) | |
tree | 508df49e5206d7da56608b24f485290c0c6fb0c4 /ipfs-api/examples/get_swarm.rs | |
parent | 307c3f2f92f4b8f5693ce48c6b28a22c4773b790 (diff) |
update examples
Diffstat (limited to 'ipfs-api/examples/get_swarm.rs')
-rw-r--r-- | ipfs-api/examples/get_swarm.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/ipfs-api/examples/get_swarm.rs b/ipfs-api/examples/get_swarm.rs new file mode 100644 index 0000000..37bad39 --- /dev/null +++ b/ipfs-api/examples/get_swarm.rs @@ -0,0 +1,45 @@ +extern crate ipfs_api; +extern crate tokio_core; + +use ipfs_api::IpfsClient; +use tokio_core::reactor::Core; + + +// Creates an Ipfs client, and gets information about your local address, and +// connected peers. +// +fn main() { + if let Ok(mut core) = Core::new() { + println!("connecting to localhost:5001..."); + + let client = + IpfsClient::new(&core.handle(), "localhost", 5001).expect("expected a valid url"); + + let local = client.swarm_addrs_local().expect( + "expected a valid request", + ); + let local = core.run(local).expect("expected a valid response"); + + println!("your addrs:"); + for addr in local.strings { + println!(" {}", addr); + } + println!(""); + + let connected = client.swarm_peers().expect("expected a valid request"); + let connected = core.run(connected).expect("expected a valid response"); + + println!("connected:"); + for peer in connected.peers { + let streams: Vec<&str> = peer.streams.iter().map(|s| &s.protocol[..]).collect(); + println!(" addr: {}", peer.addr); + println!(" peer: {}", peer.peer); + println!(" latency: {}", peer.latency); + println!(" muxer: {}", peer.muxer); + println!(" streams: {}", streams.join(", ")); + println!(""); + } + } else { + println!("failed to create event loop"); + } +} |