Added a basic event-loop driver.
[jagi.git] / src / jagi / event / Watcher.java
diff --git a/src/jagi/event/Watcher.java b/src/jagi/event/Watcher.java
new file mode 100644 (file)
index 0000000..4b85c80
--- /dev/null
@@ -0,0 +1,12 @@
+package jagi.event;
+
+import java.io.*;
+import java.nio.channels.*;
+
+public interface Watcher {
+    public SelectableChannel channel();
+    public int events();
+    public void handle(int events) throws Exception;
+    public default void close() {}
+    public default double timeout() {return(Double.POSITIVE_INFINITY);}
+}