Class LockGrpc.LockStub

  • Enclosing class:
    LockGrpc

    public static final class LockGrpc.LockStub
    extends io.grpc.stub.AbstractAsyncStub<LockGrpc.LockStub>
     The lock service exposes client-side locking facilities as a gRPC interface.
     
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

        io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>>
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected LockGrpc.LockStub build​(io.grpc.Channel channel, io.grpc.CallOptions callOptions)  
      void lock​(LockRequest request, io.grpc.stub.StreamObserver<LockResponse> responseObserver)
      Lock acquires a distributed shared lock on a given named lock.
      void unlock​(UnlockRequest request, io.grpc.stub.StreamObserver<UnlockResponse> responseObserver)
      Unlock takes a key returned by Lock and releases the hold on lock.
      • Methods inherited from class io.grpc.stub.AbstractAsyncStub

        newStub, newStub
      • Methods inherited from class io.grpc.stub.AbstractStub

        getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOption, withWaitForReady
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • build

        protected LockGrpc.LockStub build​(io.grpc.Channel channel,
                                          io.grpc.CallOptions callOptions)
        Specified by:
        build in class io.grpc.stub.AbstractStub<LockGrpc.LockStub>
      • 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.