Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.cache.lock
Class ReadWriteLockWithUpgrade

    java.lang.Object
      org.jboss.cache.lock.ReadWriteLockWithUpgrade

All Implemented Interfaces:
  EDU.oswego.cs.dl.util.concurrent.ReadWriteLock

Direct Known Subclasses:
  NonBlockingWriterLock

    public class ReadWriteLockWithUpgrade

extends java.lang.Object
implements EDU.oswego.cs.dl.util.concurrent.ReadWriteLock

Nested Class Summary
`protected class` | `ReadWriteLockWithUpgrade.ReaderLock`
`protected class` | `ReadWriteLockWithUpgrade.WriterLock`

Field Summary
`protected java.lang.Thread` | `activeWriter_`
`protected static java.lang.Object` | `dummy_`
`protected static org.apache.commons.logging.Log` | `log_`
`protected ReadWriteLockWithUpgrade.ReaderLock` | `readerLock_`
`protected static java.util.Map` | `upgraderLocal_`
`protected ReadWriteLockWithUpgrade.WriterLock` | `writerLock_`

Constructor Summary
`ReadWriteLockWithUpgrade()`

Method Summary
`protected boolean` | `allowReader()` Override this method to change to reader preference *
`protected void` | `cancelledWaitingReader()`
`protected void` | `cancelledWaitingWriter()`
`protected EDU.oswego.cs.dl.util.concurrent.Sync` | `changeLock()`
`protected org.jboss.cache.lock.ReadWriteLockWithUpgrade.Signaller` | `endRead()` Called upon termination of a read.
`protected org.jboss.cache.lock.ReadWriteLockWithUpgrade.Signaller` | `endWrite()` Called upon termination of a write.
`EDU.oswego.cs.dl.util.concurrent.Sync` | `readLock()`
`protected boolean` | `startRead()`
`protected boolean` | `startReadFromNewReader()`
`protected boolean` | `startReadFromWaitingReader()`
`protected boolean` | `startWrite()`
`protected boolean` | `startWriteFromNewWriter()`
`protected boolean` | `startWriteFromWaitingWriter()`
`java.lang.String` | `toString()`
`EDU.oswego.cs.dl.util.concurrent.Sync` | `upgradeLockAttempt(long msecs)` Attempt to obtain an upgrade to writer lock.
`EDU.oswego.cs.dl.util.concurrent.Sync` | `writeLock()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### activeWriter_

    protected java.lang.Thread activeWriter_

### upgraderLocal_

    protected static final java.util.Map upgraderLocal_

### dummy_

    protected static final java.lang.Object dummy_

### readerLock_

    protected final ReadWriteLockWithUpgrade.ReaderLock readerLock_

### writerLock_

    protected final ReadWriteLockWithUpgrade.WriterLock writerLock_

### log_

    protected static final org.apache.commons.logging.Log log_

Constructor Detail

### ReadWriteLockWithUpgrade

    public ReadWriteLockWithUpgrade()

Method Detail

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### writeLock

    public EDU.oswego.cs.dl.util.concurrent.Sync writeLock()

  Specified by:
    `writeLock` in interface `EDU.oswego.cs.dl.util.concurrent.ReadWriteLock`

### readLock

    public EDU.oswego.cs.dl.util.concurrent.Sync readLock()

  Specified by:
    `readLock` in interface `EDU.oswego.cs.dl.util.concurrent.ReadWriteLock`

### upgradeLockAttempt

    public EDU.oswego.cs.dl.util.concurrent.Sync upgradeLockAttempt(long msecs)
                                                             throws UpgradeException

  Attempt to obtain an upgrade to writer lock. If successful, the read lock is upgraded to write lock. If fails, the owner retains the read lock.

  Parameters:
    `msecs` - Time to wait in millisecons.
  Returns:
    Sync object. Null if not successful or timeout.
  Throws:
    `UpgradeException`

### changeLock

    protected EDU.oswego.cs.dl.util.concurrent.Sync changeLock()

### cancelledWaitingReader

    protected void cancelledWaitingReader()

### cancelledWaitingWriter

    protected void cancelledWaitingWriter()

### allowReader

    protected boolean allowReader()

  Override this method to change to reader preference *

### startRead

    protected boolean startRead()

### startWrite

    protected boolean startWrite()

### startReadFromNewReader

    protected boolean startReadFromNewReader()

### startWriteFromNewWriter

    protected boolean startWriteFromNewWriter()

### startReadFromWaitingReader

    protected boolean startReadFromWaitingReader()

### startWriteFromWaitingWriter

    protected boolean startWriteFromWaitingWriter()

### endRead

    protected org.jboss.cache.lock.ReadWriteLockWithUpgrade.Signaller endRead()

  Called upon termination of a read. Returns the object to signal to wake up a waiter, or null if no such

### endWrite

    protected org.jboss.cache.lock.ReadWriteLockWithUpgrade.Signaller endWrite()

  Called upon termination of a write. Returns the object to signal to wake up a waiter, or null if no such

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1998-2005 JBoss Inc . All Rights Reserved.