Files
orion_greptime_proto/proto/greptime/v1/meta/lock.proto
T
zyy17 36147379c3 feat: add go protobuf generation (#6)
* feat: add go protobuf generation

* ci: check go protbuf generation

* refactor: use 'namely/protoc-all:1.51_1' to compile the proto instead of locally binary

* refactor: no need to add the 'bin/' igore

* chore: modify code format

* refactor: add some comments to describe our modification
2023-02-15 15:10:17 +08:00

46 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
package greptime.v1.meta;
option go_package = "github.com/GreptimeTeam/greptime-proto/go/greptime/v1/meta";
import "greptime/v1/meta/common.proto";
service Lock {
// Lock acquires a distributed shared lock on a given named lock. On success, it
// will return a unique key that exists so long as the lock is held by the caller.
rpc Lock(LockRequest) returns (LockResponse);
// Unlock takes a key returned by Lock and releases the hold on lock.
rpc Unlock(UnlockRequest) returns (UnlockResponse);
}
message LockRequest {
RequestHeader header = 1;
// Name is the identifier for the distributed shared lock to be acquired.
bytes name = 2;
// If the expiration time is exceeded and currently holds the lock, the lock is
// automatically released.
int64 expire_secs = 3;
}
message LockResponse {
ResponseHeader header = 1;
// Key will exist as long as lock is held by the caller.
bytes key = 2;
}
message UnlockRequest {
RequestHeader header = 1;
// key is the lock ownership key granted by Lock.
bytes key = 2;
}
message UnlockResponse {
ResponseHeader header = 1;
}