Moved connection creation sooner for better error handling in IrcServer::from_config.
This commit is contained in:
parent
de26b75204
commit
a7ae091ff5
1 changed files with 7 additions and 7 deletions
|
@ -700,16 +700,16 @@ impl IrcServer {
|
||||||
let (tx_incoming, rx_incoming) = oneshot::channel();
|
let (tx_incoming, rx_incoming) = oneshot::channel();
|
||||||
let (tx_view, rx_view) = oneshot::channel();
|
let (tx_view, rx_view) = oneshot::channel();
|
||||||
|
|
||||||
let cfg = config.clone();
|
let mut reactor = Core::new()?;
|
||||||
|
let handle = reactor.handle();
|
||||||
|
// Attempting to connect here (as opposed to on the thread) allows more errors to happen
|
||||||
|
// immediately, rather than to occur as panics on the thread. In particular, non-resolving
|
||||||
|
// server names, and failed SSL setups will appear here.
|
||||||
|
let conn = reactor.run(Connection::new(&config, &handle)?)?;
|
||||||
|
|
||||||
let _ = thread::spawn(move || {
|
let _ = thread::spawn(move || {
|
||||||
let mut reactor = Core::new().unwrap();
|
let mut reactor = Core::new().unwrap();
|
||||||
|
|
||||||
// Setting up internal processing stuffs.
|
|
||||||
let handle = reactor.handle();
|
|
||||||
let conn = reactor
|
|
||||||
.run(Connection::new(&cfg, &handle).unwrap())
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
tx_view.send(conn.log_view()).unwrap();
|
tx_view.send(conn.log_view()).unwrap();
|
||||||
let (sink, stream) = conn.split();
|
let (sink, stream) = conn.split();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue