public class FlowControlTask extends Object
ArchiveQueryTask
eingesetzten StreamMultiplexer
steuern. Die dazu
versandten Steuerungspakete werden vom InQueuesMgr
empfangen und dann von diesem Task an die entsprechenden Multiplexer
weitergeleitet.Modifier and Type | Field and Description |
---|---|
private Map<SystemObject,Map<Integer,StreamMultiplexer>> |
ctrlMap
Datenhaltung: Anfragendes ApplikationsObjekt -> Anfrage-Index -> StreamMultiplexer.
|
private Debug |
logger |
private Object |
syncObj
Spezielles Objekt zur Synchronisierung.
|
Constructor and Description |
---|
FlowControlTask(ArchiveManager archiveMgr)
Erzeugt einen neuen Flusskontroll-Task.
|
Modifier and Type | Method and Description |
---|---|
private void |
log(byte[] streamTicketPacket) |
private void |
log(SystemObject queryAppObj,
int queryIdx,
byte[] streamTicketPacket) |
void |
processFlowCtrl(ResultData resultData) |
void |
subscribe(SystemObject queryAppObj,
int queryIdx,
StreamMultiplexer mux)
Registriert den angegebenen StreamMultiplexer fuer den Empfang von Steuerpaketen vom angegebenen Anfrage-Applikations-Objekt und Anfrage-Index, die
dieser gerade mit einer Archivantwort versorgt.
|
void |
unsubscribe(SystemObject queryAppObj,
int queryIdx)
De-Registriert den zuvor unter dem angegebenen Anfrage-Applikations-Objekt und Anfrage-Index registrierten StreamMultiplexer fuer den Empfang von
Steuerpaketen.
|
private Object syncObj
private Debug logger
private Map<SystemObject,Map<Integer,StreamMultiplexer>> ctrlMap
public FlowControlTask(ArchiveManager archiveMgr)
aMgr
- Der Archiv-Managerrodl
- Ring-of-Death-ListenerinputData
- Warteschlange des Taskspublic void processFlowCtrl(ResultData resultData)
public void subscribe(SystemObject queryAppObj, int queryIdx, StreamMultiplexer mux)
queryAppObj
- Anfrage-Applikations-ObjektqueryIdx
- Anfrage-Indexmux
- StreamMultiplexerpublic void unsubscribe(SystemObject queryAppObj, int queryIdx)
queryAppObj
- Anfrage-Applikations-ObjektqueryIdx
- Anfrage-Indexprivate void log(byte[] streamTicketPacket)
private void log(SystemObject queryAppObj, int queryIdx, byte[] streamTicketPacket)