Fix bind so we can talk on external interfaces and surface send error

This commit is contained in:
Stephen Akridge 2018-05-03 17:03:14 -07:00
parent 588593f619
commit 888c2ffb20
1 changed files with 5 additions and 2 deletions

View File

@ -88,7 +88,7 @@ impl AccountantSkel {
fn notify_entry_info_subscribers(obj: &SharedSkel, entry: &Entry) {
// TODO: No need to bind().
let socket = UdpSocket::bind("127.0.0.1:0").expect("bind");
let socket = UdpSocket::bind("0.0.0.0:0").expect("bind");
// copy subscribers to avoid taking lock while doing io
let addrs = obj.entry_info_subscribers.lock().unwrap().clone();
@ -100,7 +100,10 @@ impl AccountantSkel {
num_events: entry.events.len() as u64,
};
let data = serialize(&Response::EntryInfo(entry_info)).expect("serialize EntryInfo");
let _res = socket.send_to(&data, addr);
let res = socket.send_to(&data, addr);
if res.is_err() {
eprintln!("couldn't send response: {:?}", res);
}
}
}