| 208 | } |
| 209 | |
| 210 | fn run( |
| 211 | &mut self, |
| 212 | paused: &AtomicBool, |
| 213 | paused_sync: &Barrier, |
| 214 | ) -> result::Result<(), EpollHelperError> { |
| 215 | let mut helper = EpollHelper::new(&self.kill_evt, &self.pause_evt)?; |
| 216 | helper.add_event(self.queue_evts[0].as_raw_fd(), RX_QUEUE_EVENT)?; |
| 217 | helper.add_event(self.queue_evts[1].as_raw_fd(), TX_QUEUE_EVENT)?; |
| 218 | helper.add_event(self.queue_evts[2].as_raw_fd(), EVT_QUEUE_EVENT)?; |
| 219 | helper.add_event(self.backend.read().unwrap().get_polled_fd(), BACKEND_EVENT)?; |
| 220 | helper.run(paused, paused_sync, self)?; |
| 221 | |
| 222 | Ok(()) |
| 223 | } |
| 224 | } |
| 225 | |
| 226 | impl<B> EpollHelperHandler for VsockEpollHandler<B> |