|
|||||||||
| 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. |
(package private) java.lang.String |
tunnelURL
Full tunnel URL for Scorer work; never null. |
| 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 java.lang.String tunnelURL
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.50.55 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||