|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
de.bsvrz.kex.tls.osi2osi3.osi2.wancom.WanCom
de.bsvrz.kex.tls.osi2osi3.osi2.wancom.Server
public class Server
Klasse, die als OSI-2 Protokollmodul für den server-seitigen Teil einer WanCom-Verbindung eingesetzt werden kann. Zur Verwendung dieses Protokollmoduls als Primary ist an dem jeweiligen Anschlußpunkt in der Konfiguration in der Attributgruppe "atg.anschlussPunkt" im Attribut "ProtokollTyp" der Wert "de.bsvrz.kex.tls.osi2osi3.osi2.wancom.Server" einzutragen. Zur Verwendung dieses Protokollmoduls als Secondary ist an dem jeweiligen Anschlußpunkt-Kommunikationspartner in der Konfiguration in der Attributgruppe "atg.anschlussPunktKommunikationsPartner" im Attribut "ProtokollTyp" der Wert "de.bsvrz.kex.tls.osi2osi3.osi2.wancom.Server" einzutragen. Im Parameter "atg.protokollEinstellungenStandard" des Anschlußpunkts werden Defaultswerte für alle Verbindungen an diesem Anschlußpunkt eingestellt. Im Parameter "atg.protokollEinstellungenPrimary" bzw. "atg.protokollEinstellungenSecondary" der dem Anschlußpunkt zugeordneten AnschlußPunktKommunikationsPartner werden individuelle Werte für die Verbindung zum jeweiligen Kommunikationspartner eingestellt. Die Parameterdatensätze können mehrere Einträge enthalten die jeweils aus einem Namen und einem Wert bestehen. Folgende Tabelle enthält die Namen, Defaultwerte und eine Beschreibung der unterstützten Einträge:
Name | Defaultwert | Beschreibung |
---|---|---|
wancom.port | 7100 | Lokale TCP-Portnummer auf der Verbindungen entgegengenommen werden. |
wancom.version | 35 | Im WanCom-Header übertragene Version des eingesetzten Protokolls. |
wancom.keepAliveTime | 20 | Zeit in Sekunden zwischen dem Versand von 2 Keep-Alive Telegrammen. |
wancom.keepAliveTimeoutCount | 3 | Anzahl von in Folge vergangenen keepAliveTime-Intervallen ohne Empfang eines KeepAlive-Telegramms bevor die Verbindung abgebrochen wird. |
wancom.keepAliveType | 50 | WanCom-Type-Feld in KeepAlive-Telegrammen. |
wancom.tlsType | 600 | WanCom-Type-Feld in versendeten TLS-Telegrammen. |
wancom.tlsTypeReceive | WanCom-Type-Feld in empfangenen TLS-Telegrammen. Dieser Wert muss nur angegeben werden, wenn er sich vom WanCom-Typen zum Versand (wancom.tlsType) unterscheidet. Wenn dieser Wert nicht angegeben wurde, wird der Wert von wancom.tlsType auch zum Empfang verwendet | |
wancom.connectRetryDelay | 60 | Wartezeit in Sekunden, bevor ein fehlgeschlagener Verbindungsversuch wiederholt wird. |
wancom.localAddress | Lokale Adresse, die in Wan-Com-Header als Absender eingetragen werden soll. Ein leerer Text, wird automatisch durch die aktuelle lokale Adresse der Wan-Com-Verbindung ersetzt. |
Nested Class Summary | |
---|---|
static class |
Server.ActionType
Definiert die Aktionscodes, die von den API-Methoden zur Steuerung des Protokoll-Threads versendet werden |
private static class |
Server.IllegalTelegramException
Signalisiert Fehler in empfangenen Telegrammen |
private class |
Server.Link
Realisiert ein Verbindungsobjekt, das die Kommunikation mit einem einzelnen Kommunikationspartner verwaltet. |
private static class |
Server.PriorizedByteArray
Dient zur Speicherung eines zu versendenden Telegramms mit einer zugeordneten Priorität |
private class |
Server.Worker
Klasse die das Runnable-Interface implementiert, vom Protokollthread ausgeführt wird und den Protokollablauf steuert |
Field Summary | |
---|---|
private static Debug |
_debug
Logger für Debugausgaben |
private List<Server.Link> |
_links
Verbindungen zu Kommunikationspartnern, die durch das Protokoll verwaltet werden |
private Object |
_protocolLock
Monitor Objekt, das zur Synchronisation des Protokoll-Threads und den API-Zugriffen von fremden Threads auf das Protokoll koordiniert |
private ProtocolState |
_protocolState
Aktueller Zustand des Protokolls |
(package private) Server.Worker |
_worker
Runnable Objekt, das vom Protokollthread ausgeführt wird und den Protokollablauf steuert |
private Thread |
_workThread
Thread des Protokolls |
Constructor Summary | |
---|---|
Server()
Default-Konstruktor, mit dem neue WanCom-Server Protokolle instanziiert werden können |
Method Summary | |
---|---|
void |
abort()
Bricht die Kommunikation auf allen Verbindungen des Protokolls sofort ab und beendet anschließend das Protokoll. |
DataLinkLayer.Link |
createLink(int remoteAddress)
Erzeugt ein neues Verbindungsobjekt. |
boolean |
isStarted()
Bestimmt, ob die Kommunikation dieses Protokolls bereits mit der Methode start() aktiviert wurde. |
void |
setDavConnection(ClientDavInterface connection)
Nimmmt die Verbindung zum Datenverteiler entgegen. |
void |
setProperties(Properties properties)
Setzt neue Protokollparameter. |
void |
shutdown()
Terminiert alle Verbindungen des Protokolls und beendet anschließend das Protokoll. |
void |
start()
Initialisiert das Protokoll und startet den Protokoll-Thread |
String |
toString()
|
Methods inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.wancom.WanCom |
---|
createKeepAliveTelegramBytes, getDefaultProperty, getMaximumDataSize |
Methods inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer |
---|
addEventListener, getLocalAddress, getProperty, notifyEvent, notifyEvent, removeEventListener, setLocalAddress |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface de.bsvrz.kex.tls.osi2osi3.properties.PropertyQueryInterface |
---|
getProperty |
Field Detail |
---|
private static final Debug _debug
private final Thread _workThread
final Server.Worker _worker
private final Object _protocolLock
private ProtocolState _protocolState
private List<Server.Link> _links
Constructor Detail |
---|
public Server() throws IOException
IOException
Method Detail |
---|
public String toString()
toString
in class Object
public void setDavConnection(ClientDavInterface connection)
setDavConnection
in interface DataLinkLayer
connection
- Verbindung zum Datenverteilerpublic boolean isStarted()
start()
aktiviert wurde.
isStarted
in interface DataLinkLayer
true
, wenn die Kommunikation dieses Protokolls bereits aktiviert wurde, sonst false
.public void start()
start
in interface DataLinkLayer
public void shutdown()
shutdown
in interface DataLinkLayer
public void abort()
abort
in interface DataLinkLayer
public void setProperties(Properties properties)
setProperties
in interface DataLinkLayer
setProperties
in class AbstractDataLinkLayer
properties
- Neue Protokoll und VerbindungsparameterDataLinkLayer.Link.getProperty(java.lang.String)
public DataLinkLayer.Link createLink(int remoteAddress)
createLink
in interface DataLinkLayer
remoteAddress
- OSI-2 Adresse des Kommunikationspartners
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |