Package one.microstream.storage.types
Interface StorageEntityMarkMonitor
- All Superinterfaces:
PersistenceObjectIdAcceptor
- All Known Implementing Classes:
StorageEntityMarkMonitor.Default
public interface StorageEntityMarkMonitor extends PersistenceObjectIdAcceptor
Central instance serving as a locking instance (concurrency monitor) for concurrently marking entities.
Via the indirection over a pure OID (long primitives) mark queue, the actual marking, sweeping and concurrency
management associated with it is strictly thread local, like the rest of the storage implementation is.
Without that centralization and indirection, absolute concurrency correctness is hard to achieve and much more
coding effort.
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
StorageEntityMarkMonitor.Creator
static class
StorageEntityMarkMonitor.Default
static interface
StorageEntityMarkMonitor.ObjectIds
-
Method Summary
Modifier and Type Method Description void
advanceMarking(StorageObjectIdMarkQueue objectIdMarkQueue, int amount)
void
clearPendingStoreUpdate(StorageEntityCache<?> channel)
void
completeSweep(StorageEntityCache<?> channel, StorageRootOidSelector rootObjectIdSelector, long channelRootObjectId)
static StorageEntityMarkMonitor.Creator
Creator()
static StorageEntityMarkMonitor.Creator
Creator(int referenceCacheLength)
void
enqueue(StorageObjectIdMarkQueue objectIdMarkQueue, long objectId)
boolean
isComplete(StorageEntityCache<?> channel)
boolean
isMarkingComplete()
boolean
isPendingSweep(StorageEntityCache<?> channel)
boolean
needsSweep(StorageEntityCache<?> channel)
StorageReferenceMarker
provideReferenceMarker(StorageEntityCache<?> channel)
void
reset()
Reset to a clean initial state, ready to be used.void
resetCompletion()
void
signalPendingStoreUpdate(StorageEntityCache<?> channel)
Methods inherited from interface one.microstream.persistence.types.PersistenceObjectIdAcceptor
acceptObjectId
-
Method Details
-
signalPendingStoreUpdate
-
resetCompletion
void resetCompletion() -
advanceMarking
-
clearPendingStoreUpdate
-
isComplete
-
needsSweep
-
isPendingSweep
-
completeSweep
void completeSweep(StorageEntityCache<?> channel, StorageRootOidSelector rootObjectIdSelector, long channelRootObjectId) -
isMarkingComplete
boolean isMarkingComplete() -
provideReferenceMarker
-
enqueue
-
reset
void reset()Reset to a clean initial state, ready to be used. -
Creator
-
Creator
-