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)