public class CollectingReceiverManager extends Object
Modifier and Type | Field and Description |
---|---|
private int |
_capacity
Maximale Gesamtkapazität für auszuliefernde Datensätze
|
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private HashMap<ClientReceiverInterface,CollectingReceiver> |
_receivers
Map, die zu jedem angemeldeten Receiver der Applikation den zugehörigen CollectingReceiver enthält
|
private UnboundedQueue<CollectingReceiver> |
_receiversForDelivery
Queue mit den CollectingReceiver-Objekten, die auszuliefernde Datensätze gespeichert haben
|
private int |
_size
Gesamtgröße der momentan zu Auslieferung an die Applikation zwischengespeicherten Datensätze.
|
Constructor and Description |
---|
CollectingReceiverManager(int capacity) |
Modifier and Type | Method and Description |
---|---|
CollectingReceiver |
addReceiverReference(ClientReceiverInterface receiver)
Nimmt eine neue Referenz zu einem Receiver in die Verwaltung auf.
|
void |
deliverOnce()
Startet die Auslieferung von Datenensätzen des nächsten in der Auslieferungsliste eingetragenen CollectingReceivers.
|
CollectingReceiver |
removeReceiverReference(ClientReceiverInterface receiver)
Freigabe einer Referenz auf einen Receiver.
|
void |
storeForDelivery(CollectingReceiver collectingReceiver,
ResultData result)
Gibt einen an die Applikation auszuliefernden Datensatz an den angegebenen CollectingReceiver weiter und trägt den CollectingReceiver in die
Auslieferungsliste ein, falls dies noch nicht geschehen ist.
|
void |
storeForDeliveryWithoutBlocking(CollectingReceiver collectingReceiver,
ResultData result)
Gibt einen an die Applikation auszuliefernden Datensatz an den angegebenen CollectingReceiver weiter und trägt den CollectingReceiver in die
Auslieferungsliste ein, falls dies noch nicht geschehen ist.
|
private static final Debug _debug
private final HashMap<ClientReceiverInterface,CollectingReceiver> _receivers
private UnboundedQueue<CollectingReceiver> _receiversForDelivery
private final int _capacity
private int _size
public CollectingReceiver addReceiverReference(ClientReceiverInterface receiver)
receiver
- Receiver der Applikation zur Verarbeitung von empfangenen Datensätzen.public CollectingReceiver removeReceiverReference(ClientReceiverInterface receiver)
receiver
- public void storeForDelivery(CollectingReceiver collectingReceiver, ResultData result) throws InterruptedException
collectingReceiver
- CollectingReceiver bei dem der Datensatz zur Auslieferung zwischengespeichert werden soll.result
- Auszuliefernder Datensatz.InterruptedException
- Wenn der Thread unterbrochen wurde, während er blockiert war.public void storeForDeliveryWithoutBlocking(CollectingReceiver collectingReceiver, ResultData result)
collectingReceiver
- CollectingReceiver bei dem der Datensatz zur Auslieferung zwischengespeichert werden soll.result
- Auszuliefernder Datensatz.InterruptedException
- Wenn der Thread unterbrochen wurde, während er blockiert war.public void deliverOnce() throws InterruptedException
InterruptedException