de.bsvrz.kex.tls.osi2osi3.osi2.wancom
Class Server.Worker

java.lang.Object
  extended by de.bsvrz.kex.tls.osi2osi3.osi2.wancom.Server.Worker
All Implemented Interfaces:
Runnable
Enclosing class:
Server

private class Server.Worker
extends Object
implements Runnable

Klasse die das Runnable-Interface implementiert, vom Protokollthread ausgeführt wird und den Protokollablauf steuert


Nested Class Summary
(package private)  class Server.Worker.WorkAction
          Hilfsklasse, die zur Speicherung einer Aktion zusammen mit der Verbindung, auf die sich die Aktion bezieht, eingesetzt wird.
 
Field Summary
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 Summary
Server.Worker()
          Konstruktor initialisiert den Selektor und die Queue zur Übermittlung von Aktionen
 
Method Summary
 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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_selector

private final Selector _selector
Selektor-Objekt, mit dessen Hilfe alle Kommunikationsoperationen (Verbindungsaufbau, Versand und Empfang von Daten) ohne zusätzliche Threads asynchron ausgeführt werden.


_workQueue

private final UnboundedQueue<Server.Worker.WorkAction> _workQueue
Queue zur Übermittlung von Aktionen an den Protokoll-Thread

Constructor Detail

Server.Worker

public Server.Worker()
              throws IOException
Konstruktor initialisiert den Selektor und die Queue zur Übermittlung von Aktionen

Throws:
IOException
Method Detail

run

public void run()
Methode, die beim Start des Protokoll-Threads aufgerufen wird und die asynchrone Protokollsteuerung implementiert.

Specified by:
run in interface Runnable

toString

public String toString()
Overrides:
toString in class Object
Returns:
Informationen dieses Objekts für Debug-Zwecke

notify

public 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

Parameters:
link - Verbindung, auf die sich die Aktion bezieht.
action - Durchzuführende Aktion