1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/os/notify/notify.v

37 lines
523 B
V
Raw Normal View History

2021-06-15 04:44:31 +03:00
module notify
import time
// Backends should provide a `new()?FdNotifier` function
2021-06-15 04:44:31 +03:00
pub interface FdNotifier {
mut:
add(fd int, events FdEventType, conf ...FdConfigFlags) !
modify(fd int, events FdEventType, conf ...FdConfigFlags) !
remove(fd int) !
2021-06-15 04:44:31 +03:00
wait(timeout time.Duration) []FdEvent
close() !
2021-06-15 04:44:31 +03:00
}
pub interface FdEvent {
fd int
kind FdEventType
}
[flag]
pub enum FdEventType {
read
write
peer_hangup
exception
error
hangup
}
[flag]
pub enum FdConfigFlags {
edge_trigger
one_shot
wake_up
exclusive
}