Как можно дублировать поведение опроса для POLLPRI в Мио? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть драйвер, который генерирует событие POLLPRI, когда новые данные готовы, поскольку устройство всегда доступно для чтения (последние данные).

1 Ответ

4 голосов
/ 21 марта 2019

Вы можете использовать priority():

Возвращает готовность, представляющую приоритет приоритета (EPOLLPRI)

Пример (на основе документа):

use mio::net::TcpStream;
use mio::unix::UnixReady;
use mio::{Poll, PollOpt, Ready, Token};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let addr = "216.58.193.68:80".parse()?;
    let socket = TcpStream::connect(&addr)?;

    let poll = Poll::new()?;

    poll.register(
        &socket,
        Token(0),
        Ready::readable() | UnixReady::priority() | UnixReady::error(),
        PollOpt::edge(),
    )?;

    Ok(())
}
...