|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectPamguardMVC.ThreadedObserver
public class ThreadedObserver
This is a decorator class for PamObservers which intercepts any data being sent to that observer and puts the data into a list which will then be re-read in a separate thread, rather than sending if for direct execution.
There is a bit of jiggledy piggledy to get the data history times right since they may need to be extended slightly to allow for data that are not yet used.
| Nested Class Summary | |
|---|---|
(package private) class |
ThreadedObserver.NewObserverThread
New observer thread. |
| Field Summary | |
|---|---|
private java.util.List<PamDataUnit> |
dataUnitList
|
private boolean |
emptyRead
|
private int |
jitterSleep
|
private boolean |
killThread
|
private int |
maxJitter
|
private int |
maxQueSize
|
private ThreadedObserver.NewObserverThread |
newObserverThread
|
private java.lang.Thread |
observerThread
|
private PamObservable |
pamObservable
|
private PamObserver |
singleThreadObserver
|
| Constructor Summary | |
|---|---|
ThreadedObserver(PamObservable pamObservable,
PamObserver singleThreadObserver)
|
|
| Method Summary | |
|---|---|
private boolean |
canMultiThread()
Not possible to multi thread when data come from a sound file, do don't try. |
int |
getInterThreadListSize()
|
java.lang.String |
getObserverName()
|
PamObserver |
getObserverObject()
|
long |
getRequiredDataHistory(PamObservable o,
java.lang.Object arg)
|
PamObserver |
getSingleThreadObserver()
|
boolean |
isEmptyRead()
|
void |
masterClockUpdate(long milliSeconds,
long sampleNumber)
|
void |
noteNewSettings()
|
void |
removeObservable(PamObservable o)
called when an Observable (PamDataBlock) is removed from the system |
void |
setSampleRate(float sampleRate,
boolean notify)
New sample rate |
void |
update(PamObservable o,
PamDataUnit arg)
Informs the PamObserver that new data have been added to the Observable class |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private PamObserver singleThreadObserver
private PamObservable pamObservable
private java.util.List<PamDataUnit> dataUnitList
private ThreadedObserver.NewObserverThread newObserverThread
private java.lang.Thread observerThread
private volatile boolean killThread
private volatile boolean emptyRead
private int maxQueSize
private int maxJitter
private int jitterSleep
| Constructor Detail |
|---|
public ThreadedObserver(PamObservable pamObservable,
PamObserver singleThreadObserver)
| Method Detail |
|---|
public PamObserver getObserverObject()
getObserverObject in interface PamObserverpublic PamObserver getSingleThreadObserver()
public java.lang.String getObserverName()
getObserverName in interface PamObserver
public long getRequiredDataHistory(PamObservable o,
java.lang.Object arg)
getRequiredDataHistory in interface PamObservero - PamObservable class requiring the dataarg - optional argument from PamObservable
public int getInterThreadListSize()
public void noteNewSettings()
noteNewSettings in interface PamObserverpublic void removeObservable(PamObservable o)
PamObserver
removeObservable in interface PamObserver
public void setSampleRate(float sampleRate,
boolean notify)
PamObserver
setSampleRate in interface PamObservernotify - Notify other PamObservers and PamObservables in the chain.
public void masterClockUpdate(long milliSeconds,
long sampleNumber)
masterClockUpdate in interface PamObserver
public void update(PamObservable o,
PamDataUnit arg)
PamObserver
update in interface PamObservero - Reference to the Observable (a PamDataBlock)arg - Reference to the new PamDataUnitprivate boolean canMultiThread()
public boolean isEmptyRead()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||