public static class JCloudsBinaryManager.JCloudsBinaryGarbageCollector extends Object implements BinaryGarbageCollector
Modifier and Type | Field and Description |
---|---|
protected JCloudsBinaryManager |
binaryManager |
protected Set<String> |
marked |
protected long |
startTime |
protected BinaryManagerStatus |
status |
Constructor and Description |
---|
JCloudsBinaryGarbageCollector(JCloudsBinaryManager binaryManager) |
Modifier and Type | Method and Description |
---|---|
String |
getId()
Gets a unique identifier for this garbage collector.
|
BinaryManagerStatus |
getStatus()
Gets the status of the binaries to GC and of those that won't be.
|
boolean |
isInProgress()
Checks if a GC is in progress.
|
void |
mark(String digest)
Marks a binary as being in use.
|
void |
start()
Starts the garbage collection process.
|
void |
stop(boolean delete)
Stops the garbage collection process and deletes all binaries that have not been marked (sweep).
|
protected final JCloudsBinaryManager binaryManager
protected volatile long startTime
protected BinaryManagerStatus status
public JCloudsBinaryGarbageCollector(JCloudsBinaryManager binaryManager)
public String getId()
BinaryGarbageCollector
getId
in interface BinaryGarbageCollector
public BinaryManagerStatus getStatus()
BinaryGarbageCollector
Available after BinaryGarbageCollector.stop(boolean)
.
getStatus
in interface BinaryGarbageCollector
public boolean isInProgress()
BinaryGarbageCollector
A GC is in progress is #start
has been called but not #stop
.
It's only useful to call this from a separate thread from the one that calls BinaryGarbageCollector.mark(java.lang.String)
.
isInProgress
in interface BinaryGarbageCollector
true
if a GC is in progresspublic void start()
BinaryGarbageCollector
After this, all active binaries must be fed to the BinaryGarbageCollector.mark(java.lang.String)
method.
start
in interface BinaryGarbageCollector
public void mark(String digest)
BinaryGarbageCollector
mark
in interface BinaryGarbageCollector
digest
- the binary's digestpublic void stop(boolean delete)
BinaryGarbageCollector
stop
in interface BinaryGarbageCollector
delete
- true
if actual deletion must be performed, false
if the binaries to delete should
simply be counted in the statusCopyright © 2019 Nuxeo. All rights reserved.