-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Channel overflow errors in the route_listen_stream are silently dropped in this crate. We are encountering these errors and need route_listen_stream to be reliable or at the very least report errors.
One possible solution would be to have a new function that returns a broadcast::Receiver in addition to the current route_listen_stream. That way we could detect the RecvError::Lagged the crate is currently ignoring (
net-route/src/platform_impl/linux.rs
Line 111 in 13fd712
| broadcast::error::RecvError::Lagged(_) => continue, |
Preferable would be a reliable interface, somehow. An unbounded channel, perhaps? What we're doing with the change messages is maintaining a list of routes in a tokio::sync::watch channel. If this crate did that it would kill two birds with one stone for us, although I don't know how useful it would be to others.