client/
client.rs

1extern crate sled_web;
2extern crate serde_json;
3
4use sled_web::hyper;
5use sled_web::hyper::rt::{Future, Stream};
6
7fn main() {
8    let client = sled_web::Client::new("http://localhost:3000".parse().unwrap());
9
10    let get_a = client
11        .get(vec![6])
12        .map(|v| {
13            println!("Entry `6` was `None`, as expected");
14            assert!(v.is_none())
15        })
16        .map_err(|e| eprintln!("{}", e));
17
18    let set = client
19        .set(vec![6], vec![1, 2, 3, 4, 5, 6, 7, 8, 9])
20        .map(|_| println!("Entry `6` successfully set"))
21        .map_err(|e| eprintln!("{}", e));
22
23    let get_b = client
24        .get(vec![6])
25        .map(|v| {
26            assert!(v.is_some());
27            println!("Successfully retrieved `6`: {:?}", v)
28        })
29        .map_err(|e| eprintln!("{}", e));
30
31    let iter = client
32        .iter()
33        .map(|(k, v)| println!("  ({:?}, {:?})", k, v))
34        .map_err(|e| eprintln!("Error: {}", e))
35        .collect()
36        .map(|_| ())
37        .map_err(|_| ());
38
39    let scan = client
40        .scan(vec![3])
41        .map(|(k, v)| println!("  ({:?}, {:?})", k, v))
42        .map_err(|e| eprintln!("Error: {}", e))
43        .collect()
44        .map(|_| ())
45        .map_err(|_| ());
46
47    let scan_range = client
48        .scan_range(vec![2], vec![5])
49        .map(|(k, v)| println!("  ({:?}, {:?})", k, v))
50        .map_err(|e| eprintln!("Error: {}", e))
51        .collect()
52        .map(|_| ())
53        .map_err(|_| ());
54
55    let max = client
56        .max()
57        .map(|entry| println!("Max: {:?}", entry))
58        .map_err(|e| eprintln!("Error: {}", e));
59
60    let pred = client
61        .pred(vec![4])
62        .map(|entry| println!("Pred to [4]: {:?}", entry))
63        .map_err(|e| eprintln!("Error: {}", e));
64
65    let pred_incl = client
66        .pred_incl(vec![4])
67        .map(|entry| println!("PredIncl to [4]: {:?}", entry))
68        .map_err(|e| eprintln!("Error: {}", e));
69
70    let succ = client
71        .succ(vec![2])
72        .map(|entry| println!("Succ to [2]: {:?}", entry))
73        .map_err(|e| eprintln!("Error: {}", e));
74
75    let succ_incl = client
76        .succ_incl(vec![2])
77        .map(|entry| println!("SuccIncl to [2]: {:?}", entry))
78        .map_err(|e| eprintln!("Error: {}", e));
79
80    hyper::rt::run({
81        get_a
82            .then(|_| set)
83            .then(|_| get_b)
84            .then(|_| {
85                println!("Iter all elements...");
86                iter
87            })
88            .then(|_| {
89                println!("Scan elements starting from `vec![3]`");
90                scan
91            })
92            .then(|_| {
93                println!("Scan range elements starting from `vec![2]` to `vec![5]`");
94                scan_range
95            })
96            .then(|_| max)
97            .then(|_| pred)
98            .then(|_| pred_incl)
99            .then(|_| succ)
100            .then(|_| succ_incl)
101    });
102}