diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2017-10-24 15:51:44 -0400 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2017-10-24 15:51:44 -0400 |
commit | b5b01e13a9d70960bd0f10c7f5119a5f3c8bd90c (patch) | |
tree | c011f052e2f959112b5736d3a38bcdee831298b0 /ipfs-api/src/request | |
parent | d20fa974e536bb898018fbd119bc1a35c96897e0 (diff) |
add dht calls
Diffstat (limited to 'ipfs-api/src/request')
-rw-r--r-- | ipfs-api/src/request/dht.rs | 88 | ||||
-rw-r--r-- | ipfs-api/src/request/mod.rs | 2 |
2 files changed, 90 insertions, 0 deletions
diff --git a/ipfs-api/src/request/dht.rs b/ipfs-api/src/request/dht.rs new file mode 100644 index 0000000..3b9fccf --- /dev/null +++ b/ipfs-api/src/request/dht.rs @@ -0,0 +1,88 @@ +use request::ApiRequest; + + +#[derive(Serialize)] +pub struct DhtFindPeer<'a> { + #[serde(rename = "arg")] + pub peer: &'a str, +} + +impl<'a> ApiRequest for DhtFindPeer<'a> { + #[inline] + fn path() -> &'static str { + "/dht/findpeer" + } +} + + +#[derive(Serialize)] +pub struct DhtFindProvs<'a> { + #[serde(rename = "arg")] + pub key: &'a str, +} + +impl<'a> ApiRequest for DhtFindProvs<'a> { + #[inline] + fn path() -> &'static str { + "/dht/findprovs" + } +} + + +#[derive(Serialize)] +pub struct DhtGet<'a> { + #[serde(rename = "arg")] + pub key: &'a str, +} + +impl<'a> ApiRequest for DhtGet<'a> { + #[inline] + fn path() -> &'static str { + "/dht/get" + } +} + + +#[derive(Serialize)] +pub struct DhtProvide<'a> { + #[serde(rename = "arg")] + pub key: &'a str, +} + +impl<'a> ApiRequest for DhtProvide<'a> { + #[inline] + fn path() -> &'static str { + "/dht/provide" + } +} + + +#[derive(Serialize)] +pub struct DhtPut<'a> { + #[serde(rename = "arg")] + pub key: &'a str, + + #[serde(rename = "arg")] + pub value: &'a str, +} + +impl<'a> ApiRequest for DhtPut<'a> { + #[inline] + fn path() -> &'static str { + "/dht/put" + } +} + + +#[derive(Serialize)] +pub struct DhtQuery<'a> { + #[serde(rename = "arg")] + pub peer: &'a str, +} + +impl<'a> ApiRequest for DhtQuery<'a> { + #[inline] + fn path() -> &'static str { + "/dht/query" + } +} diff --git a/ipfs-api/src/request/mod.rs b/ipfs-api/src/request/mod.rs index c4bff85..45db78f 100644 --- a/ipfs-api/src/request/mod.rs +++ b/ipfs-api/src/request/mod.rs @@ -6,6 +6,7 @@ pub use self::cat::*; pub use self::commands::*; pub use self::config::*; pub use self::dag::*; +pub use self::dht::*; pub use self::ls::*; pub use self::object::*; pub use self::pin::*; @@ -59,6 +60,7 @@ mod cat; mod commands; mod config; mod dag; +mod dht; mod ls; mod object; mod pin; |