|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.hd.d.pg2k.clApp.atHome.AHStandaloneMain.Callback
private static final class AHStandaloneMain.Callback
Container of various items of information we need to run the worker threads. The cache and worker instances are cleared/replaced atomically.
| Field Summary | |
|---|---|
private MiniScorerCacheImpl |
cache
Light-weight Scorer cache and population; never null. |
(package private) SimpleExhibitPipelineIF |
dataSource
Data source; never null. |
private int |
generation
Generation number; strictly positive. |
private long |
lastNewScorerReport
Time last new Scorer was locally generated and reported. |
(package private) SimpleLoggerIF |
log
Logger; never null. |
private java.lang.String |
queuedBestScorer
Last 'best' Scorer queued to report to server; null if currently no such item. |
private ScorerCreator.ScorerWork |
scorerWork
Work controller object; never null. |
private java.util.Set<java.lang.String> |
serverBestScorerNAP
Immutable Set of server's "best" Scorers; never null but may be empty. |
| Constructor Summary | |
|---|---|
AHStandaloneMain.Callback(java.lang.String tunnelURL,
SimpleExhibitPipelineIF dataSource,
SimpleLoggerIF log)
Make an instance wrapped round the tunnel URL, log and (restricted) dataSource. |
|
| Method Summary | |
|---|---|
(package private) MiniScorerCacheImpl |
getCache()
Get the cache; never null. |
(package private) int |
getGeneration()
Get the current generation number; strictly positive. |
(package private) long |
getLastNewScorerReport()
Get time last new Scorer was locally generated and reported. |
(package private) java.lang.String |
getQueuedBestScorer()
Atomically get and clear any queued best Scorer to send to the server; null if currently no such item. |
(package private) ScorerCreator.ScorerWork |
getScorerWork()
Get the work controller object; never null. |
(package private) java.util.Set<java.lang.String> |
getServerBestScorerNAP()
Get immutable Set of server's "best" Scorers; never null but may be empty. |
void |
reportNewBestScorer(java.lang.String scorerNameAndParameters)
Used to post a new "best of breed" Scorer name and parameters for posterity. |
(package private) void |
reset()
Replace cache and worker objects atomically. |
(package private) void |
setServerBestScorerNAP(java.util.Collection<java.lang.String> bestScorers)
Set the server's "best" Scorers; may not be null nor contain nulls or invalid name-and-parameter values. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
final SimpleExhibitPipelineIF dataSource
final SimpleLoggerIF log
private MiniScorerCacheImpl cache
private ScorerCreator.ScorerWork scorerWork
private int generation
Accessed under the same lock used to protect the cache.
private volatile java.util.Set<java.lang.String> serverBestScorerNAP
private volatile long lastNewScorerReport
Marked volatile for lock-free thread-safe access.
private java.lang.String queuedBestScorer
Accessed under the instance lock.
| Constructor Detail |
|---|
AHStandaloneMain.Callback(java.lang.String tunnelURL,
SimpleExhibitPipelineIF dataSource,
SimpleLoggerIF log)
| Method Detail |
|---|
MiniScorerCacheImpl getCache()
ScorerCreator.ScorerWork getScorerWork()
int getGeneration()
final void reset()
java.util.Set<java.lang.String> getServerBestScorerNAP()
void setServerBestScorerNAP(java.util.Collection<java.lang.String> bestScorers)
long getLastNewScorerReport()
java.lang.String getQueuedBestScorer()
public void reportNewBestScorer(java.lang.String scorerNameAndParameters)
This routine is not synchronized so as to avoid possibility of deadlock, especially on reentrant calls to the cache and/or computations. It does grab the cache value under a lock to work on later at leisure.
reportNewBestScorer in interface ScorerPopulation.NewBestCallbackIFscorerNameAndParameters - valid name-and-parameters set; never null.
|
DHD Multimedia Gallery V1.53.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||