summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-07-17 22:59:24 +0300
committerYuval Adam <_@yuv.al>2018-07-17 22:59:24 +0300
commitc3ea11e82d856817d123ea4a9a9d3576b17817a7 (patch)
tree6554caa4d5ba3ad1729bad37420e136139714d42 /src/main.rs
parentf0508f43937f1ec8b46d1428602c333f615aa607 (diff)
First round of runtime refactoring
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs
index a56c7fd..2b4826f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,6 +5,10 @@ extern crate indoc;
extern crate clap;
extern crate colored;
+extern crate tokio;
+extern crate hyper;
+extern crate futures;
+
use colored::*;
use clap::{Arg, App};
use std::path::Path;
@@ -12,9 +16,15 @@ use std::process;
use std::thread;
use std::sync::mpsc;
+use hyper::Server;
+use hyper::service::service_fn;
+use tokio::runtime::Runtime;
+use futures::Future;
+
mod cli;
mod upnp;
mod serve;
+mod notify;
fn main() {
let app = App::new(env!("CARGO_PKG_NAME"))
@@ -48,14 +58,20 @@ fn main() {
process::exit(1);
}
+ let addr = "0.0.0.0:51497".parse().unwrap();
- let _http = thread::spawn(move || {
- serve::run();
- });
+ let server = Server::bind(&addr)
+ .serve(|| service_fn(serve::response_examples))
+ .map_err(|e| eprintln!("server error: {}", e));
- let _udp = thread::spawn(move || {
- upnp::discover();
- });
+ println!("Listening on http://{}", addr);
+
+ let mut rt = Runtime::new().unwrap();
+ rt.spawn(server);
+
+ // let _udp = thread::spawn(move || {
+ // upnp::discover();
+ // });
let (tx, rx) = mpsc::channel();
let child = thread::spawn(move || {