1 use std::io; 2 #[cfg(unix)] 3 use std::os::fd::{AsRawFd, RawFd}; 4 use std::time::Duration; 5 6 pub type Event = usize; 7 8 pub type Events = Vec<Event>; 9 10 #[derive(Debug)] 11 pub struct Selector {} 12 13 impl Selector { try_clone(&self) -> io::Result<Selector>14 pub fn try_clone(&self) -> io::Result<Selector> { 15 os_required!(); 16 } 17 select(&self, _: &mut Events, _: Option<Duration>) -> io::Result<()>18 pub fn select(&self, _: &mut Events, _: Option<Duration>) -> io::Result<()> { 19 os_required!(); 20 } 21 } 22 23 #[cfg(unix)] 24 cfg_any_os_ext! { 25 use crate::{Interest, Token}; 26 27 impl Selector { 28 pub fn register(&self, _: RawFd, _: Token, _: Interest) -> io::Result<()> { 29 os_required!(); 30 } 31 32 pub fn reregister(&self, _: RawFd, _: Token, _: Interest) -> io::Result<()> { 33 os_required!(); 34 } 35 36 pub fn deregister(&self, _: RawFd) -> io::Result<()> { 37 os_required!(); 38 } 39 } 40 } 41 42 #[cfg(target_os = "wasi")] 43 cfg_any_os_ext! { 44 use crate::{Interest, Token}; 45 46 impl Selector { 47 pub fn register(&self, _: wasi::Fd, _: Token, _: Interest) -> io::Result<()> { 48 os_required!(); 49 } 50 51 pub fn reregister(&self, _: wasi::Fd, _: Token, _: Interest) -> io::Result<()> { 52 os_required!(); 53 } 54 55 pub fn deregister(&self, _: wasi::Fd) -> io::Result<()> { 56 os_required!(); 57 } 58 } 59 } 60 61 cfg_io_source! { 62 #[cfg(debug_assertions)] 63 impl Selector { 64 pub fn id(&self) -> usize { 65 os_required!(); 66 } 67 } 68 } 69 70 #[cfg(unix)] 71 impl AsRawFd for Selector { as_raw_fd(&self) -> RawFd72 fn as_raw_fd(&self) -> RawFd { 73 os_required!() 74 } 75 } 76 77 #[allow(clippy::trivially_copy_pass_by_ref)] 78 pub mod event { 79 use crate::sys::Event; 80 use crate::Token; 81 use std::fmt; 82 token(_: &Event) -> Token83 pub fn token(_: &Event) -> Token { 84 os_required!(); 85 } 86 is_readable(_: &Event) -> bool87 pub fn is_readable(_: &Event) -> bool { 88 os_required!(); 89 } 90 is_writable(_: &Event) -> bool91 pub fn is_writable(_: &Event) -> bool { 92 os_required!(); 93 } 94 is_error(_: &Event) -> bool95 pub fn is_error(_: &Event) -> bool { 96 os_required!(); 97 } 98 is_read_closed(_: &Event) -> bool99 pub fn is_read_closed(_: &Event) -> bool { 100 os_required!(); 101 } 102 is_write_closed(_: &Event) -> bool103 pub fn is_write_closed(_: &Event) -> bool { 104 os_required!(); 105 } 106 is_priority(_: &Event) -> bool107 pub fn is_priority(_: &Event) -> bool { 108 os_required!(); 109 } 110 is_aio(_: &Event) -> bool111 pub fn is_aio(_: &Event) -> bool { 112 os_required!(); 113 } 114 is_lio(_: &Event) -> bool115 pub fn is_lio(_: &Event) -> bool { 116 os_required!(); 117 } 118 debug_details(_: &mut fmt::Formatter<'_>, _: &Event) -> fmt::Result119 pub fn debug_details(_: &mut fmt::Formatter<'_>, _: &Event) -> fmt::Result { 120 os_required!(); 121 } 122 } 123