| 401 | } |
| 402 | |
| 403 | fn run( |
| 404 | &mut self, |
| 405 | paused: &AtomicBool, |
| 406 | paused_sync: &Barrier, |
| 407 | ) -> result::Result<(), EpollHelperError> { |
| 408 | let mut helper = EpollHelper::new(&self.kill_evt, &self.pause_evt)?; |
| 409 | helper.add_event(self.inflate_queue_evt.as_raw_fd(), INFLATE_QUEUE_EVENT)?; |
| 410 | helper.add_event(self.deflate_queue_evt.as_raw_fd(), DEFLATE_QUEUE_EVENT)?; |
| 411 | if let Some(reporting_queue_evt) = self.reporting_queue_evt.as_ref() { |
| 412 | helper.add_event(reporting_queue_evt.as_raw_fd(), REPORTING_QUEUE_EVENT)?; |
| 413 | } |
| 414 | helper.run(paused, paused_sync, self)?; |
| 415 | |
| 416 | Ok(()) |
| 417 | } |
| 418 | } |
| 419 | |
| 420 | impl EpollHelperHandler for BalloonEpollHandler { |