|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.dav.daf.communication.lowLevel.TelegramQueue<Telegram>
public class TelegramQueue<Telegram extends QueueableTelegram>
Klasse, die zum gepufferten Austausch von Telegrammen zwischen verschiedenen Threads verwendet werden kann. Die Gesamtgröße der gepufferten Telegramme ist beschränkt. Es werden verschiedene Telegrammprioritäten unterstützt.
Telegramme können mit der Methodeput(Telegram)
gespeichert werden und mit der Methode take()
wieder ausgelesen werden. Die Methoden blockieren, wenn
beim Speichern nicht genügend Platz vorhanden ist, bzw., wenn beim Auslesen kein Telegramm mehr zur Verfügung steht. Der Methode close()
dient zum
Schließen der Queue. blockiert keine der beiden Methoden mehr.
Constructor Summary | |
---|---|
TelegramQueue(int capacity,
int maximumPriority)
Erzeugt eine neue Queue mit den angegebenen Eigenschaften. |
Method Summary | |
---|---|
void |
abort()
Diese Methode schließt die Verbindung und löscht alle noch gespeicherten Telegramme. |
void |
close()
Diese Methode schließt die Verbindung. |
int |
getCapacity()
Bestimmt die maximale Gesamtgröße für zwischengespeicherte Telegramme. |
int |
getSize()
Bestimmt die Gesamtgröße der aktuell zwischengespeicherten Telegramme. |
void |
put(Telegram telegram)
Speichert das angegebene Telegramm in der Queue. |
Telegram |
take()
Gibt das älteste in der Queue gespeicherte Telegramm mit der höchsten Priorität zurück. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TelegramQueue(int capacity, int maximumPriority)
capacity
- Maximale Gesamtgröße der gepufferten Telegramme.maximumPriority
- Maximale von Telegrammen verwendete Priorität.Method Detail |
---|
public Telegram take() throws InterruptedException
null
zurückgegeben.
InterruptedException
- Wenn der Thread während des Wartens unterbrochen wurde.public void put(Telegram telegram) throws InterruptedException
telegram
- Das zu speichernde Telegramm
InterruptedException
- Wenn der Thread während des Wartens unterbrochen wurde.public int getCapacity()
public int getSize()
public void close()
put(Telegram)
sämtliche weitere zu speichernde Telegramme und die Methode take()
liefert noch alle bisher gespeicherten Telegramme und danach null
zurück. Eventuell blockierte Threads werden geweckt.
public void abort()
put(Telegram)
sämtliche weitere zu
speichernde Telegramme und die Methode take()
liefert anschließend immer null
zurück. Eventuell blockierte Threads werden geweckt.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |