public abstract class AbstractXSRunnableXSWritable<T_DPCK extends XSDataPacket<?,?>> extends AbstractXSRunnable implements XSWritable<T_DPCK>
Constructor and Description |
---|
AbstractXSRunnableXSWritable(java.lang.String name,
CommunicationType communicationType) |
AbstractXSRunnableXSWritable(java.lang.String name,
CommunicationType communicationType,
boolean trackPerformance) |
Modifier and Type | Method and Description |
---|---|
void |
deliver(T_DPCK packet)
delivers a packet at this writable.
|
CommunicationType |
getCommunicationType() |
XSDeliveryLock |
getDeliveryLock() |
protected long[] |
getHandlingTimes() |
XSRunnable |
getLatestWritingThread() |
protected long[] |
getMemoryUsage() |
protected int |
getNextHandlingTimeIndex() |
protected int |
getNextMemoryUsageIndex() |
protected T_DPCK |
getNextPacket() |
long |
getNumberOfPacketsReceived() |
long[] |
getPacketHandlingTimes() |
int |
getPerformanceTrackerStepSize() |
long[] |
getUsedMemory() |
protected abstract void |
handleNextPacket(T_DPCK packet) |
boolean |
isTrackingPerformance() |
protected boolean |
isTrackPerformance() |
protected long |
measureUsedMemory()
measures actual memory currently used by the algorithm.
|
protected void |
setHandlingTimes(long[] handlingTimes) |
void |
setLatestWritingThread(XSRunnable latestWritingThread) |
protected void |
setMemoryUsage(long[] memoryUsage) |
protected void |
setNextHandlingTimeIndex(int nextHandlingTimeIndex) |
protected void |
setNextMemoryUsageIndex(int nextMemoryUsageIndex) |
void |
setPerformanceTrackerStepSize(int performanceTrackerStepSize) |
void |
setTrackPerformance(boolean track) |
protected void |
storeNewPacket(T_DPCK packet) |
void |
triggerPacketHandle(T_DPCK dataPacket)
access method of the deliver procedure, i.e.
|
protected void |
workPackage()
Conceptually the (thread executing) the work package does the following:
1.
|
interrupt, isPaused, isRunning, isStarted, isStopped, pause, pauseXSRunnable, run, start, startXSRunnable, stopXSRunnable
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yield
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getName, stop
public AbstractXSRunnableXSWritable(java.lang.String name, CommunicationType communicationType)
public AbstractXSRunnableXSWritable(java.lang.String name, CommunicationType communicationType, boolean trackPerformance)
public final void deliver(T_DPCK packet)
deliver
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
public CommunicationType getCommunicationType()
getCommunicationType
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
public XSDeliveryLock getDeliveryLock()
getDeliveryLock
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
protected long[] getHandlingTimes()
public XSRunnable getLatestWritingThread()
protected long[] getMemoryUsage()
protected int getNextHandlingTimeIndex()
protected int getNextMemoryUsageIndex()
protected T_DPCK getNextPacket()
public long getNumberOfPacketsReceived()
getNumberOfPacketsReceived
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
public long[] getPacketHandlingTimes()
getPacketHandlingTimes
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
public int getPerformanceTrackerStepSize()
public long[] getUsedMemory()
getUsedMemory
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
protected abstract void handleNextPacket(T_DPCK packet)
public boolean isTrackingPerformance()
isTrackingPerformance
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
protected boolean isTrackPerformance()
protected void setHandlingTimes(long[] handlingTimes)
public void setLatestWritingThread(XSRunnable latestWritingThread)
protected void setMemoryUsage(long[] memoryUsage)
protected void setNextHandlingTimeIndex(int nextHandlingTimeIndex)
protected void setNextMemoryUsageIndex(int nextMemoryUsageIndex)
public void setPerformanceTrackerStepSize(int performanceTrackerStepSize)
setPerformanceTrackerStepSize
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
public void setTrackPerformance(boolean track)
setTrackPerformance
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>
protected void storeNewPacket(T_DPCK packet)
protected long measureUsedMemory()
protected final void workPackage()
workPackage
in class AbstractXSRunnable
public void triggerPacketHandle(T_DPCK dataPacket)
XSWritable
triggerPacketHandle
in interface XSWritable<T_DPCK extends XSDataPacket<?,?>>