Tidy networking crates

This commit is contained in:
Age Manning
2019-03-19 22:53:51 +11:00
parent dc014d07bc
commit e7f87112fb
9 changed files with 26 additions and 45 deletions

View File

@@ -4,7 +4,7 @@ mod run;
use clap::{App, Arg};
use client::ClientConfig;
use slog::{o, Drain};
use slog::{error, o, Drain};
fn main() {
let decorator = slog_term::TermDecorator::new().build();
@@ -42,5 +42,8 @@ fn main() {
// invalid arguments, panic
let config = ClientConfig::parse_args(matches, &logger).unwrap();
run::run_beacon_node(config, logger);
match run::run_beacon_node(config, &logger) {
Ok(_) => {}
Err(e) => error!(logger, "Beacon node failed because {:?}", e),
}
}

View File

@@ -1,4 +1,4 @@
use client::client_types::{StandardClientType, TestingClientType};
use client::client_types::TestingClientType;
use client::error;
use client::{notifier, Client, ClientConfig};
use futures::sync::oneshot;
@@ -7,7 +7,7 @@ use slog::info;
use std::cell::RefCell;
use tokio::runtime::Builder;
pub fn run_beacon_node(config: ClientConfig, log: slog::Logger) -> error::Result<()> {
pub fn run_beacon_node(config: ClientConfig, log: &slog::Logger) -> error::Result<()> {
let mut runtime = Builder::new()
.name_prefix("main-")
.build()
@@ -25,7 +25,8 @@ pub fn run_beacon_node(config: ClientConfig, log: slog::Logger) -> error::Result
if let Some(ctrlc_send) = ctrlc_send_c.try_borrow_mut().unwrap().take() {
ctrlc_send.send(()).expect("Error sending ctrl-c message");
}
});
})
.map_err(|e| format!("Could not set ctrlc hander: {:?}", e))?;
let (exit_signal, exit) = exit_future::signal();
@@ -35,7 +36,9 @@ pub fn run_beacon_node(config: ClientConfig, log: slog::Logger) -> error::Result
let client: Client<TestingClientType> = Client::new(config, log.clone(), &executor)?;
notifier::run(&client, executor, exit);
runtime.block_on(ctrlc);
runtime
.block_on(ctrlc)
.map_err(|e| format!("Ctrlc oneshot failed: {:?}", e))?;
// perform global shutdown operations.
info!(log, "Shutting down..");