summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Kobert <dennis@kobert.dev>2020-02-09 15:18:56 +0000
committerDennis Kobert <dennis@kobert.dev>2020-02-09 15:18:56 +0000
commit102a39ffc870537a45113f01f7c3ea1ca03fa1bc (patch)
tree1e9bd9ac2253c40bf21311792a9c25a04c17d5bb
parentafbc38858cac276414d4cb286e69b061548923f8 (diff)
Add some asyncs
-rw-r--r--Rocket.toml2
-rw-r--r--src/main.rs32
2 files changed, 20 insertions, 14 deletions
diff --git a/Rocket.toml b/Rocket.toml
index b8aec95..9037d62 100644
--- a/Rocket.toml
+++ b/Rocket.toml
@@ -3,7 +3,7 @@ address = "localhost"
port = 8008
#workers = [number of cpus * 2]
keep_alive = 5
-log = "verbose"
+log = "debug"
#secret_key = [randomly generated at launch]
limits = { forms = 32768 }
diff --git a/src/main.rs b/src/main.rs
index d9a8272..16e7bbd 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -21,10 +21,20 @@ fn main() {
// .redirect_uri("http://localhost:8888/callback")
// .build();
//
- let mut db = noria::ControllerHandle::from_zk("127.0.0.1:2181").unwrap();
+ // looking up article 42 should yield the article we inserted with a vote count of 1
+ init();
+
+ rocket::ignite()
+ .mount("/", routes![serve::token, serve::get_tracks])
+ .launch();
+}
+
+
+async fn init() {
+ let mut db = noria::ControllerHandle::from_zk("127.0.0.1:2181").await.unwrap();
//db.ready();
- println!("test {:?}", db.url());
+ //println!("test {:?}", db.url());
db.install_recipe(
"
CREATE TABLE Article (aid int, title varchar(255), url text, PRIMARY KEY(aid));
@@ -33,8 +43,8 @@ fn main() {
);
println!("test");
// we can then get handles that let us insert into the new tables
- let mut article = db.table("Article").unwrap();
- let mut vote = db.table("Vote").unwrap();
+ let mut article = db.table("Article").await.unwrap();
+ let mut vote = db.table("Vote").await.unwrap();
// let's make a new article
let aid = 42;
@@ -42,10 +52,10 @@ fn main() {
let url = "https://pdos.csail.mit.edu";
article
.insert(vec![aid.into(), title.into(), url.into()])
- .unwrap();
+ .await.unwrap();
// and then vote for it
- vote.insert(vec![aid.into(), 1.into()]).unwrap();
+ vote.insert(vec![aid.into(), 1.into()]).await.unwrap();
println!("test");
// we can also declare views that we want want to query
@@ -61,10 +71,10 @@ fn main() {
);
// and then get handles that let us execute those queries to fetch their results
- let mut awvc = db.view("ArticleWithVoteCount").unwrap();
- // looking up article 42 should yield the article we inserted with a vote count of 1
+ let mut awvc = db.view("ArticleWithVoteCount").await.unwrap();
+
assert_eq!(
- awvc.lookup(&[aid.into()], true).unwrap(),
+ awvc.lookup(&[aid.into()], true).await.unwrap(),
vec![vec![
noria::DataType::from(aid),
title.into(),
@@ -72,8 +82,4 @@ fn main() {
1.into()
]]
);
-
- rocket::ignite()
- .mount("/", routes![serve::token, serve::get_tracks])
- .launch();
}