netlink-request: don't include Done and Ack messages in response
parent
b15b541669
commit
fa24aedd1f
|
@ -121,13 +121,13 @@ mod linux {
|
||||||
let bytes = &buf[offset..];
|
let bytes = &buf[offset..];
|
||||||
let response = NetlinkMessage::<I>::deserialize(bytes)
|
let response = NetlinkMessage::<I>::deserialize(bytes)
|
||||||
.map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?;
|
.map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?;
|
||||||
responses.push(response.clone());
|
|
||||||
match response.payload {
|
match response.payload {
|
||||||
// We've parsed all parts of the response and can leave the loop.
|
// We've parsed all parts of the response and can leave the loop.
|
||||||
NetlinkPayload::Ack(_) | NetlinkPayload::Done => return Ok(responses),
|
NetlinkPayload::Ack(_) | NetlinkPayload::Done => return Ok(responses),
|
||||||
NetlinkPayload::Error(e) => return Err(e.into()),
|
NetlinkPayload::Error(e) => return Err(e.into()),
|
||||||
_ => {},
|
_ => {},
|
||||||
}
|
}
|
||||||
|
responses.push(response.clone());
|
||||||
offset += response.header.length as usize;
|
offset += response.header.length as usize;
|
||||||
if offset == n_received || response.header.length == 0 {
|
if offset == n_received || response.header.length == 0 {
|
||||||
// We've fully parsed the datagram, but there may be further datagrams
|
// We've fully parsed the datagram, but there may be further datagrams
|
||||||
|
|
Loading…
Reference in New Issue