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 interfaceStorageEntityMarkMonitor.Creatorstatic classStorageEntityMarkMonitor.Defaultstatic interfaceStorageEntityMarkMonitor.ObjectIds -
Method Summary
Modifier and Type Method Description voidadvanceMarking(StorageObjectIdMarkQueue objectIdMarkQueue, int amount)voidclearPendingStoreUpdate(StorageEntityCache<?> channel)voidcompleteSweep(StorageEntityCache<?> channel, StorageRootOidSelector rootObjectIdSelector, long channelRootObjectId)static StorageEntityMarkMonitor.CreatorCreator()static StorageEntityMarkMonitor.CreatorCreator(int referenceCacheLength)voidenqueue(StorageObjectIdMarkQueue objectIdMarkQueue, long objectId)booleanisComplete(StorageEntityCache<?> channel)booleanisMarkingComplete()booleanisPendingSweep(StorageEntityCache<?> channel)booleanneedsSweep(StorageEntityCache<?> channel)StorageReferenceMarkerprovideReferenceMarker(StorageEntityCache<?> channel)voidreset()Reset to a clean initial state, ready to be used.voidresetCompletion()voidsignalPendingStoreUpdate(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
-