Class Locking.ClientLock

  • All Implemented Interfaces:
    java.lang.Comparable<Locking.ClientLock>, java.util.concurrent.locks.Lock
    Enclosing class:
    Locking

    protected class Locking.ClientLock
    extends java.lang.Object
    implements java.util.concurrent.locks.Lock, java.lang.Comparable<Locking.ClientLock>
    Implementation of Lock. This is a client stub communicates with a server equivalent. The semantics are more or less those of Lock, but may differ slightly. For details see LockService.
    • Field Detail

      • name

        protected final java.lang.String name
      • owner

        protected Owner owner
      • acquired

        protected volatile boolean acquired
      • denied

        protected volatile boolean denied
      • is_trylock

        protected volatile boolean is_trylock
      • timeout

        protected long timeout
      • lock_id

        protected final int lock_id
    • Constructor Detail

      • ClientLock

        public ClientLock​(java.lang.String name)
      • ClientLock

        public ClientLock​(java.lang.String name,
                          Owner owner)
    • Method Detail

      • isHeld

        public boolean isHeld()
      • lock

        public void lock()
        Specified by:
        lock in interface java.util.concurrent.locks.Lock
      • lockInterruptibly

        public void lockInterruptibly()
                               throws java.lang.InterruptedException
        Specified by:
        lockInterruptibly in interface java.util.concurrent.locks.Lock
        Throws:
        java.lang.InterruptedException
      • tryLock

        public boolean tryLock()
        Specified by:
        tryLock in interface java.util.concurrent.locks.Lock
      • tryLock

        public boolean tryLock​(long time,
                               java.util.concurrent.TimeUnit unit)
                        throws java.lang.InterruptedException
        Specified by:
        tryLock in interface java.util.concurrent.locks.Lock
        Throws:
        java.lang.InterruptedException
      • unlock

        public void unlock()
        Specified by:
        unlock in interface java.util.concurrent.locks.Lock
      • newCondition

        public java.util.concurrent.locks.Condition newCondition()
        Specified by:
        newCondition in interface java.util.concurrent.locks.Lock
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • lockGranted

        protected void lockGranted​(int lock_id)
      • lockDenied

        protected void lockDenied​(int lock_id)
      • handleLockGrantedResponse

        protected void handleLockGrantedResponse​(int lock_id)
      • handleLockReleasedResponse

        protected void handleLockReleasedResponse​(int lock_id)
      • acquire

        protected void acquire​(boolean throwInterrupt)
                        throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • _unlock

        protected void _unlock​(boolean force)
      • _unlockOK

        protected void _unlockOK()
      • acquireTryLock

        protected boolean acquireTryLock​(long timeout,
                                         boolean use_timeout)
                                  throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object