Package io.etcd.jetcd.api.lock
Class LockGrpc.LockImplBase
- java.lang.Object
-
- io.etcd.jetcd.api.lock.LockGrpc.LockImplBase
-
- All Implemented Interfaces:
io.grpc.BindableService
- Enclosing class:
- LockGrpc
public abstract static class LockGrpc.LockImplBase extends java.lang.Object implements io.grpc.BindableServiceThe lock service exposes client-side locking facilities as a gRPC interface.
-
-
Constructor Summary
Constructors Constructor Description LockImplBase()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.grpc.ServerServiceDefinitionbindService()voidlock(LockRequest request, io.grpc.stub.StreamObserver<LockResponse> responseObserver)Lock acquires a distributed shared lock on a given named lock.voidunlock(UnlockRequest request, io.grpc.stub.StreamObserver<UnlockResponse> responseObserver)Unlock takes a key returned by Lock and releases the hold on lock.
-
-
-
Method Detail
-
lock
public void lock(LockRequest request, io.grpc.stub.StreamObserver<LockResponse> responseObserver)
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. This key can be used in conjunction with transactions to safely ensure updates to etcd only occur while holding lock ownership. The lock is held until Unlock is called on the key or the lease associate with the owner expires.
-
unlock
public void unlock(UnlockRequest request, io.grpc.stub.StreamObserver<UnlockResponse> responseObserver)
Unlock takes a key returned by Lock and releases the hold on lock. The next Lock caller waiting for the lock will then be woken up and given ownership of the lock.
-
bindService
public final io.grpc.ServerServiceDefinition bindService()
- Specified by:
bindServicein interfaceio.grpc.BindableService
-
-