aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/old/vlib/os/notify/notify.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/old/vlib/os/notify/notify.v')
-rw-r--r--v_windows/v/old/vlib/os/notify/notify.v35
1 files changed, 35 insertions, 0 deletions
diff --git a/v_windows/v/old/vlib/os/notify/notify.v b/v_windows/v/old/vlib/os/notify/notify.v
new file mode 100644
index 0000000..b49dad3
--- /dev/null
+++ b/v_windows/v/old/vlib/os/notify/notify.v
@@ -0,0 +1,35 @@
+module notify
+
+import time
+
+// Backends should provide a `new() ?FdNotifier` function
+pub interface FdNotifier {
+ add(fd int, events FdEventType, conf ...FdConfigFlags) ?
+ modify(fd int, events FdEventType, conf ...FdConfigFlags) ?
+ remove(fd int) ?
+ wait(timeout time.Duration) []FdEvent
+ close() ?
+}
+
+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
+}