let mut nl_response = self.handle.request(nl_msg, SocketAddr::new(0, 0))?;
// Handle response
while let Some(packet) = nl_response.next().await {
- log::trace!("<<< {:?}", packet);
if let NetlinkMessage{payload: NetlinkPayload::InnerMessage(msg), ..} = packet {
events.push(netevent_from_rtnetlink(&msg)?);
}
let mut nl_response = self.handle.request(nl_msg, SocketAddr::new(0, 0))?;
// Handle response
while let Some(packet) = nl_response.next().await {
- log::trace!("<<< {:?}", packet);
if let NetlinkMessage{payload: NetlinkPayload::InnerMessage(msg), ..} = packet {
events.push(netevent_from_rtnetlink(&msg)?);
}
pub fn stream(&mut self) -> impl Stream<Item = io::Result<NetEvent>> + '_ {
try_stream! {
while let Some((message, _)) = self.messages.next().await {
- log::trace!("rtnetlink change message - {message:?}");
if let NetlinkMessage{payload: NetlinkPayload::InnerMessage(msg), ..} = message {
yield netevent_from_rtnetlink(&msg)?;
}
fn nl_linkmessage_decode(msg: &LinkMessage) -> io::Result<(NetInterface, String)> {
let LinkMessage{header, nlas, ..} = msg;
- log::trace!("{header:?} {nlas:?}");
// extract fields of interest
let mut address_bytes: Option<&Vec<u8>> = None;
fn nl_addressmessage_decode(msg: &AddressMessage) -> io::Result<(NetInterface, IpAddr)> {
let AddressMessage{header, nlas, ..} = msg;
- log::trace!("{header:?} {nlas:?}");
// extract fields of interest
let mut address_bytes: Option<&Vec<u8>> = None;