ehcache

net.sf.ehcache.store.chm
Class SelectableConcurrentHashMap.Segment

java.lang.Object
  extended by java.util.concurrent.locks.ReentrantReadWriteLock
      extended by net.sf.ehcache.store.chm.SelectableConcurrentHashMap.Segment
All Implemented Interfaces:
Serializable, ReadWriteLock
Enclosing class:
SelectableConcurrentHashMap

public class SelectableConcurrentHashMap.Segment
extends ReentrantReadWriteLock

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.concurrent.locks.ReentrantReadWriteLock
ReentrantReadWriteLock.ReadLock, ReentrantReadWriteLock.WriteLock
 
Field Summary
protected  int count
          The number of elements in this segment's region.
protected  int numDummyPinnedKeys
           
protected  int pinnedCount
           
protected  SelectableConcurrentHashMap.HashEntry[] table
          The per-segment table.
 
Constructor Summary
protected SelectableConcurrentHashMap.Segment(int initialCapacity, float lf)
           
 
Method Summary
protected  void clear()
           
protected  SelectableConcurrentHashMap.HashEntry createHashEntry(Object key, int hash, SelectableConcurrentHashMap.HashEntry next, Element value, long sizeOf, boolean pinned)
           
protected  SelectableConcurrentHashMap.HashEntry getFirst(int hash)
          Returns properly casted first entry of bin for given hash.
 boolean isPinned(Object key, int hash)
           
protected  Iterator<SelectableConcurrentHashMap.HashEntry> iterator()
           
protected  void postInstall(Object key, Element value, boolean pinned)
           
protected  void preRemove(SelectableConcurrentHashMap.HashEntry e)
           
protected  Element put(Object key, int hash, Element value, long sizeOf, boolean onlyIfAbsent, boolean pinned, boolean fire)
           
 void recalculateSize(Object key, int hash)
           
protected  SelectableConcurrentHashMap.HashEntry relinkHashEntry(SelectableConcurrentHashMap.HashEntry e, SelectableConcurrentHashMap.HashEntry next)
           
 void setPinned(Object key, boolean pinned, int hash)
           
 void unpinAll()
           
 
Methods inherited from class java.util.concurrent.locks.ReentrantReadWriteLock
getOwner, getQueuedReaderThreads, getQueuedThreads, getQueuedWriterThreads, getQueueLength, getReadHoldCount, getReadLockCount, getWaitingThreads, getWaitQueueLength, getWriteHoldCount, hasQueuedThread, hasQueuedThreads, hasWaiters, isFair, isWriteLocked, isWriteLockedByCurrentThread, readLock, toString, writeLock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

count

protected volatile int count
The number of elements in this segment's region.


table

protected volatile SelectableConcurrentHashMap.HashEntry[] table
The per-segment table.


pinnedCount

protected volatile int pinnedCount

numDummyPinnedKeys

protected volatile int numDummyPinnedKeys
Constructor Detail

SelectableConcurrentHashMap.Segment

protected SelectableConcurrentHashMap.Segment(int initialCapacity,
                                              float lf)
Method Detail

preRemove

protected void preRemove(SelectableConcurrentHashMap.HashEntry e)

postInstall

protected void postInstall(Object key,
                           Element value,
                           boolean pinned)

getFirst

protected SelectableConcurrentHashMap.HashEntry getFirst(int hash)
Returns properly casted first entry of bin for given hash.


setPinned

public void setPinned(Object key,
                      boolean pinned,
                      int hash)

isPinned

public boolean isPinned(Object key,
                        int hash)

unpinAll

public void unpinAll()

createHashEntry

protected SelectableConcurrentHashMap.HashEntry createHashEntry(Object key,
                                                                int hash,
                                                                SelectableConcurrentHashMap.HashEntry next,
                                                                Element value,
                                                                long sizeOf,
                                                                boolean pinned)

relinkHashEntry

protected SelectableConcurrentHashMap.HashEntry relinkHashEntry(SelectableConcurrentHashMap.HashEntry e,
                                                                SelectableConcurrentHashMap.HashEntry next)

clear

protected void clear()

recalculateSize

public void recalculateSize(Object key,
                            int hash)

put

protected Element put(Object key,
                      int hash,
                      Element value,
                      long sizeOf,
                      boolean onlyIfAbsent,
                      boolean pinned,
                      boolean fire)

iterator

protected Iterator<SelectableConcurrentHashMap.HashEntry> iterator()

ehcache

Copyright © 2003-2014 Terracotta, Inc.. All Rights Reserved.