aboutsummaryrefslogtreecommitdiff
path: root/other
diff options
context:
space:
mode:
Diffstat (limited to 'other')
-rw-r--r--other/java/client/src/main/proto/filer.proto39
1 files changed, 39 insertions, 0 deletions
diff --git a/other/java/client/src/main/proto/filer.proto b/other/java/client/src/main/proto/filer.proto
index 821b6c281..3dda002c5 100644
--- a/other/java/client/src/main/proto/filer.proto
+++ b/other/java/client/src/main/proto/filer.proto
@@ -68,6 +68,13 @@ service SeaweedFiler {
rpc CacheRemoteObjectToLocalCluster (CacheRemoteObjectToLocalClusterRequest) returns (CacheRemoteObjectToLocalClusterResponse) {
}
+
+ rpc Lock(LockRequest) returns (LockResponse) {
+ }
+ rpc Unlock(UnlockRequest) returns (UnlockResponse) {
+ }
+ rpc TransferLocks(TransferLocksRequest) returns (TransferLocksResponse) {
+ }
}
//////////////////////////////////////////////////
@@ -428,3 +435,35 @@ message CacheRemoteObjectToLocalClusterRequest {
message CacheRemoteObjectToLocalClusterResponse {
Entry entry = 1;
}
+
+/////////////////////////
+// distributed lock management
+/////////////////////////
+message LockRequest {
+ string name = 1;
+ int64 seconds_to_lock = 2;
+ string previous_lock_token = 3;
+}
+message LockResponse {
+ string renew_token = 1;
+ string error = 3;
+ string moved_to = 4;
+}
+message UnlockRequest {
+ string name = 1;
+ string lock_token = 2;
+}
+message UnlockResponse {
+ string error = 1;
+ string moved_to = 2;
+}
+message Lock {
+ string name = 1;
+ string renew_token = 2;
+ int64 expiration_ns = 3;
+}
+message TransferLocksRequest {
+ repeated Lock locks = 1;
+}
+message TransferLocksResponse {
+}