summaryrefslogtreecommitdiff
path: root/main/client/src/Lock.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/client/src/Lock.java')
-rw-r--r--main/client/src/Lock.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/main/client/src/Lock.java b/main/client/src/Lock.java
new file mode 100644
index 00000000..6e5f18b0
--- /dev/null
+++ b/main/client/src/Lock.java
@@ -0,0 +1,14 @@
+package mill.main.client;
+public abstract class Lock implements AutoCloseable{
+ abstract public Locked lock() throws Exception;
+ abstract public Locked tryLock() throws Exception;
+
+ public void await() throws Exception{
+ lock().release();
+ }
+
+ /**
+ * Returns `true` if the lock is *available for taking*
+ */
+ abstract public boolean probe() throws Exception;
+} \ No newline at end of file