public class TelegramQueue<Telegram extends QueueableTelegram> extends Object
put(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 and Description |
---|
TelegramQueue(int capacity,
int maximumPriority)
Erzeugt eine neue Queue mit den angegebenen Eigenschaften.
|
Modifier and Type | Method and Description |
---|---|
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.
|
public TelegramQueue(int capacity, int maximumPriority)
capacity
- Maximale Gesamtgröße der gepufferten Telegramme.maximumPriority
- Maximale von Telegrammen verwendete Priorität.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 TelegrammInterruptedException
- 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.