aboutsummaryrefslogtreecommitdiff
path: root/examples/basalt.rs
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2021-10-13 17:12:13 +0200
committerAlex Auvolat <alex@adnab.me>2021-10-13 17:12:13 +0200
commit70839d70d86354232f168e63ce4062219acb85c7 (patch)
tree9c956af0339aa048f487c3a4e54c320be8d13647 /examples/basalt.rs
parent8dede69dee20b812ad1dcab5b374c60232409f4f (diff)
downloadnetapp-70839d70d86354232f168e63ce4062219acb85c7.tar.gz
netapp-70839d70d86354232f168e63ce4062219acb85c7.zip
Try to handle termination and closing of stuff properly
Diffstat (limited to 'examples/basalt.rs')
-rw-r--r--examples/basalt.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/examples/basalt.rs b/examples/basalt.rs
index 7093e05..63b4b4c 100644
--- a/examples/basalt.rs
+++ b/examples/basalt.rs
@@ -5,9 +5,9 @@ use std::time::Duration;
use log::{debug, info, warn};
+use async_trait::async_trait;
use serde::{Deserialize, Serialize};
use structopt::StructOpt;
-use async_trait::async_trait;
use sodiumoxide::crypto::auth;
use sodiumoxide::crypto::sign::ed25519;
@@ -122,9 +122,15 @@ async fn main() {
let listen_addr = opt.listen_addr.parse().unwrap();
let public_addr = opt.public_addr.map(|x| x.parse().unwrap());
+
+ let watch_cancel = netapp::util::watch_ctrl_c();
+
tokio::join!(
example.clone().sampling_loop(),
- example.netapp.clone().listen(listen_addr, public_addr),
+ example
+ .netapp
+ .clone()
+ .listen(listen_addr, public_addr, watch_cancel),
example.basalt.clone().run(),
);
}
@@ -141,7 +147,8 @@ impl Example {
let self2 = self.clone();
tokio::spawn(async move {
match self2
- .example_endpoint.call(&p, ExampleMessage { example_field: 42 }, PRIO_NORMAL)
+ .example_endpoint
+ .call(&p, ExampleMessage { example_field: 42 }, PRIO_NORMAL)
.await
{
Ok(resp) => debug!("Got example response: {:?}", resp),