| Modifier and Type | Field and Description |
|---|---|
| private final byte | appendCounter
Size of the occupied part of the append buffer. |
| private final byte | holdCount
Counter of reentrant locks. |
| private final long | ownerId
Lock owner thread id. |
| pack-priv volatile RootReference | previous
Reference to the previous root in the chain. |
| public final Page | root
The root page. |
| pack-priv final long | updateAttemptCounter
Counter for attempted root updates. |
| pack-priv final long | updateCounter
Counter for successful root updates. |
| public final long | version
The version used for writing. |
| Access | Constructor and Description |
|---|---|
| pack-priv | |
| private | |
| private | |
| private | |
| private |
| Modifier and Type | Method and Description |
|---|---|
| private boolean | |
| pack-priv int | |
| public long | |
| pack-priv long | |
| pack-priv boolean | Returns: true if this root has unsaved changesto check against version, boolean whether map is backed by persistent storage persistent)Does the root have changes since the specified version? |
| private boolean | |
| pack-priv boolean | |
| public boolean | |
| public boolean | |
| pack-priv void | removeUnusedOldVersions(long
the oldest version that needs to be retained oldestVersionToKeep)Removed old versions that are not longer used. |
| public String | |
| pack-priv RootReference | Returns: the new, locked, root reference, or null if not successfulthe number of attempts so far attemptCounter)Try to lock. |
| pack-priv RootReference | Returns: the new, unlocked and updated, root reference, or null if not successfulthe version version, int the number of attempts so far attempt)Try to unlock, and if successful update the version |
| private RootReference | |
| pack-priv RootReference | Returns: the new root reference, or null if not successfulthe page page, boolean whether to keep it locked keepLocked, int number of items in append buffer appendCounter)Update the page, possibly keeping it locked. |
| pack-priv RootReference | Returns: the new, unlocked, root reference, or null if not successfulthe new root page newRootPage, long the number of attempts so far attemptCounter)Try to unlock. |
| appendCounter | back to summary |
|---|---|
| private final byte appendCounter Size of the occupied part of the append buffer. | |
| holdCount | back to summary |
|---|---|
| private final byte holdCount Counter of reentrant locks. | |
| ownerId | back to summary |
|---|---|
| private final long ownerId Lock owner thread id. | |
| previous | back to summary |
|---|---|
| pack-priv volatile RootReference<K, V> previous Reference to the previous root in the chain. That is the last root of the previous version, which had any data changes. Versions without any data changes are dropped from the chain, as it built. | |
| root | back to summary |
|---|---|
| public final Page<K, V> root The root page. | |
| updateAttemptCounter | back to summary |
|---|---|
| pack-priv final long updateAttemptCounter Counter for attempted root updates. | |
| updateCounter | back to summary |
|---|---|
| pack-priv final long updateCounter Counter for successful root updates. | |
| version | back to summary |
|---|---|
| public final long version The version used for writing. | |
| RootReference | back to summary |
|---|---|
| pack-priv RootReference(Page<K, V> root, long version) | |
| RootReference | back to summary |
|---|---|
| private RootReference(RootReference<K, V> r, Page<K, V> root, long updateAttemptCounter) | |
| RootReference | back to summary |
|---|---|
| private RootReference(RootReference<K, V> r, int attempt) | |
| RootReference | back to summary |
|---|---|
| private RootReference(RootReference<K, V> r, Page<K, V> root, boolean keepLocked, int appendCounter) | |
| RootReference | back to summary |
|---|---|
| private RootReference(RootReference<K, V> r, long version, int attempt) | |
| canUpdate | back to summary |
|---|---|
| private boolean canUpdate() | |
| getAppendCounter | back to summary |
|---|---|
| pack-priv int getAppendCounter() | |
| getTotalCount | back to summary |
|---|---|
| public long getTotalCount() | |
| getVersion | back to summary |
|---|---|
| pack-priv long getVersion() | |
| hasChangesSince | back to summary |
|---|---|
| pack-priv boolean hasChangesSince(long version, boolean persistent) Does the root have changes since the specified version?
| |
| isFree | back to summary |
|---|---|
| private boolean isFree() | |
| isLocked | back to summary |
|---|---|
| pack-priv boolean isLocked() | |
| isLockedByCurrentThread | back to summary |
|---|---|
| public boolean isLockedByCurrentThread() | |
| needFlush | back to summary |
|---|---|
| public boolean needFlush() Whether flushing is needed.
| |
| removeUnusedOldVersions | back to summary |
|---|---|
| pack-priv void removeUnusedOldVersions(long oldestVersionToKeep) Removed old versions that are not longer used.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non- | |
| tryLock | back to summary |
|---|---|
| pack-priv RootReference Try to lock.
| |
| tryUnlockAndUpdateVersion | back to summary |
|---|---|
| pack-priv RootReference Try to unlock, and if successful update the version
| |
| tryUpdate | back to summary |
|---|---|
| private RootReference | |
| updatePageAndLockedStatus | back to summary |
|---|---|
| pack-priv RootReference Update the page, possibly keeping it locked.
| |
| updateRootPage | back to summary |
|---|---|
| pack-priv RootReference Try to unlock.
| |