From 102a39ffc870537a45113f01f7c3ea1ca03fa1bc Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sun, 9 Feb 2020 15:18:56 +0000 Subject: Add some asyncs --- Rocket.toml | 2 +- src/main.rs | 32 +++++++++++++++++++------------- 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(); } -- cgit v1.2.3-54-g00ecf