mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-09-28 17:45:44 +00:00
virtio-devices: net: Refactor 'handle_event' for readability
Signed-off-by: Bo Chen <chen.bo@intel.com>
This commit is contained in:
parent
b4fe41ad0c
commit
1ee41a98de
@ -342,29 +342,28 @@ impl EpollHelperHandler for NetEpollHandler {
|
|||||||
if let Some(rate_limiter) = &mut self.net.rx_rate_limiter {
|
if let Some(rate_limiter) = &mut self.net.rx_rate_limiter {
|
||||||
// Upon rate limiter event, call the rate limiter handler and register the
|
// Upon rate limiter event, call the rate limiter handler and register the
|
||||||
// TAP fd for further processing if some RX buffers are available
|
// TAP fd for further processing if some RX buffers are available
|
||||||
match rate_limiter.event_handler() {
|
rate_limiter.event_handler().map_err(|e| {
|
||||||
Ok(_) => {
|
EpollHelperError::HandleEvent(anyhow!(
|
||||||
if !self.net.rx_tap_listening && self.net.rx_desc_avail {
|
"Error from 'rate_limiter.event_handler()': {:?}",
|
||||||
if let Err(e) = net_util::register_listener(
|
e
|
||||||
self.net.epoll_fd.unwrap(),
|
))
|
||||||
self.net.tap.as_raw_fd(),
|
})?;
|
||||||
epoll::Events::EPOLLIN,
|
|
||||||
u64::from(self.net.tap_rx_event_id),
|
if !self.net.rx_tap_listening && self.net.rx_desc_avail {
|
||||||
) {
|
net_util::register_listener(
|
||||||
return Err(EpollHelperError::HandleEvent(anyhow!(
|
self.net.epoll_fd.unwrap(),
|
||||||
"Error register_listener with `RX_RATE_LIMITER_EVENT`: {:?}",
|
self.net.tap.as_raw_fd(),
|
||||||
e
|
epoll::Events::EPOLLIN,
|
||||||
)));
|
u64::from(self.net.tap_rx_event_id),
|
||||||
}
|
)
|
||||||
self.net.rx_tap_listening = true;
|
.map_err(|e| {
|
||||||
}
|
EpollHelperError::HandleEvent(anyhow!(
|
||||||
}
|
"Error register_listener with `RX_RATE_LIMITER_EVENT`: {:?}",
|
||||||
Err(e) => {
|
|
||||||
return Err(EpollHelperError::HandleEvent(anyhow!(
|
|
||||||
"Error from 'rate_limiter.event_handler()': {:?}",
|
|
||||||
e
|
e
|
||||||
)));
|
))
|
||||||
}
|
})?;
|
||||||
|
|
||||||
|
self.net.rx_tap_listening = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return Err(EpollHelperError::HandleEvent(anyhow!(
|
return Err(EpollHelperError::HandleEvent(anyhow!(
|
||||||
@ -376,23 +375,17 @@ impl EpollHelperHandler for NetEpollHandler {
|
|||||||
if let Some(rate_limiter) = &mut self.net.tx_rate_limiter {
|
if let Some(rate_limiter) = &mut self.net.tx_rate_limiter {
|
||||||
// Upon rate limiter event, call the rate limiter handler
|
// Upon rate limiter event, call the rate limiter handler
|
||||||
// and restart processing the queue.
|
// and restart processing the queue.
|
||||||
match rate_limiter.event_handler() {
|
rate_limiter.event_handler().map_err(|e| {
|
||||||
Ok(_) => {
|
EpollHelperError::HandleEvent(anyhow!(
|
||||||
self.driver_awake = true;
|
"Error from 'rate_limiter.event_handler()': {:?}",
|
||||||
if let Err(e) = self.process_tx() {
|
e
|
||||||
return Err(EpollHelperError::HandleEvent(anyhow!(
|
))
|
||||||
"Error processing TX queue: {:?}",
|
})?;
|
||||||
e
|
|
||||||
)));
|
self.driver_awake = true;
|
||||||
}
|
self.process_tx().map_err(|e| {
|
||||||
}
|
EpollHelperError::HandleEvent(anyhow!("Error processing TX queue: {:?}", e))
|
||||||
Err(e) => {
|
})?;
|
||||||
return Err(EpollHelperError::HandleEvent(anyhow!(
|
|
||||||
"Error from 'rate_limiter.event_handler()': {:?}",
|
|
||||||
e
|
|
||||||
)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return Err(EpollHelperError::HandleEvent(anyhow!(
|
return Err(EpollHelperError::HandleEvent(anyhow!(
|
||||||
"Unexpected TX_RATE_LIMITER_EVENT"
|
"Unexpected TX_RATE_LIMITER_EVENT"
|
||||||
|
Loading…
Reference in New Issue
Block a user