Package one.microstream.storage.types
Interface StorageEntityMarkMonitor
-
- All Superinterfaces:
one.microstream.persistence.types.PersistenceObjectIdAcceptor
- All Known Implementing Classes:
StorageEntityMarkMonitor.Default
public interface StorageEntityMarkMonitor extends one.microstream.persistence.types.PersistenceObjectIdAcceptorCentral 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
All Methods Static Methods Instance Methods Abstract Methods 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)
-
-
-
Method Detail
-
signalPendingStoreUpdate
void signalPendingStoreUpdate(StorageEntityCache<?> channel)
-
resetCompletion
void resetCompletion()
-
advanceMarking
void advanceMarking(StorageObjectIdMarkQueue objectIdMarkQueue, int amount)
-
clearPendingStoreUpdate
void clearPendingStoreUpdate(StorageEntityCache<?> channel)
-
isComplete
boolean isComplete(StorageEntityCache<?> channel)
-
needsSweep
boolean needsSweep(StorageEntityCache<?> channel)
-
isPendingSweep
boolean isPendingSweep(StorageEntityCache<?> channel)
-
completeSweep
void completeSweep(StorageEntityCache<?> channel, StorageRootOidSelector rootObjectIdSelector, long channelRootObjectId)
-
isMarkingComplete
boolean isMarkingComplete()
-
provideReferenceMarker
StorageReferenceMarker provideReferenceMarker(StorageEntityCache<?> channel)
-
enqueue
void enqueue(StorageObjectIdMarkQueue objectIdMarkQueue, long objectId)
-
reset
void reset()
Reset to a clean initial state, ready to be used.
-
Creator
static StorageEntityMarkMonitor.Creator Creator()
-
Creator
static StorageEntityMarkMonitor.Creator Creator(int referenceCacheLength)
-
-