Modifier and Type | Class and Description |
---|---|
(package private) class |
Server.Worker.WorkAction
Hilfsklasse, die zur Speicherung einer Aktion zusammen mit der Verbindung, auf die sich die Aktion bezieht, eingesetzt wird.
|
Modifier and Type | Field and Description |
---|---|
private Selector |
_selector
Selektor-Objekt, mit dessen Hilfe alle Kommunikationsoperationen (Verbindungsaufbau, Versand und Empfang von Daten) ohne zusätzliche Threads asynchron
ausgeführt werden.
|
private UnboundedQueue<Server.Worker.WorkAction> |
_workQueue
Queue zur Übermittlung von Aktionen an den Protokoll-Thread
|
Constructor and Description |
---|
Server.Worker()
Konstruktor initialisiert den Selektor und die Queue zur Übermittlung von Aktionen
|
Modifier and Type | Method and Description |
---|---|
void |
notify(Server.Link link,
Server.ActionType action)
Kann von einem beliebigen Thread aufgerufen werden, um dem Protokoll-Thread zu signalisieren, dass eine bestimmte Aktion ausgeführt werden soll
|
void |
run()
Methode, die beim Start des Protokoll-Threads aufgerufen wird und die asynchrone Protokollsteuerung implementiert.
|
String |
toString() |
private final Selector _selector
private final UnboundedQueue<Server.Worker.WorkAction> _workQueue
public Server.Worker() throws IOException
IOException
public void run()
public String toString()
public void notify(Server.Link link, Server.ActionType action)
link
- Verbindung, auf die sich die Aktion bezieht.action
- Durchzuführende Aktion