|
|||||||||
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.Link
de.bsvrz.kex.tls.osi2osi3.osi2.wancom.Server.Link
private class Server.Link
Realisiert ein Verbindungsobjekt, das die Kommunikation mit einem einzelnen Kommunikationspartner verwaltet.
Field Summary | |
---|---|
private int |
_keepAliveReceiveTimeoutCount
Anzahl Intervall, in denen aktuell in Folge kein Keep-Alive-Telegramm empfangen wurde. |
private long |
_lastKeepAliveReceive
Zeitpunkt des letzten empfangenen Keep-Alive-Telegramms in Millisekunden |
(package private) byte[] |
_packetOnTheAir
Aktuell asynchron zu sendendes Telegramm |
private Properties |
_properties
Enthält die online änderbaren Parameter für diese Verbindung |
private PropertyConsultant |
_propertyConsultant
Wrapper-Objekt zum bequemen Zugriff auf die online änderbaren Parameter dieser Verbindung |
private ByteBuffer |
_readBuffer
Empfangspuffer für empfangene Telegramme |
private ByteBuffer |
_sendBuffer
Sendepuffer für versendete Telegramme |
private PriorityChannel |
_sendChannel
Priorisierte Queue mit den noch zu versendenden Telegrammen |
private boolean |
_sendKeepAlive
Flag das signalisiert, dass ein Keep-Alive-Telegramm versendet werden soll |
private ServerSocketChannel |
_serverSocketChannel
Enthält während des Verbindungsaufbau das Kommunikationsobjekt mit internem Serversocket, über den die Verbindung des Clients entgegengenommen wird; sonst null . |
private SocketChannel |
_socketChannel
Enthält während einer bestehenden Verbindung das Kommunikationsobjekt mit internem Server, über den der Datenaustausch mit dem Client abgewickelt wird; sonst null . |
private Timer |
_timer
Timerobjekt mit dem zukünftige Aktionen geplant und ausgeführt werden |
private int |
_wanComConnectRetryDelay
Wartezeit in Sekunden, die nach einem fehlerbedingten Verbindungsabbruch gewartet wird, bevor die Verbindung neu aufgebaut wird. |
private byte[] |
_wanComIp8
Lokale IP-Adresse, die in versendeten Telegrammen eingetragen wird. |
private int |
_wanComKeepAliveTimeoutCount
Anzahl Intervalle ohne Empfang eines Keep-Alive-Telegramms nach der eine bestehende Verbindung abgebrochen und neu aufgebaut wird. |
private int |
_wanComKeepAliveTimeSeconds
Intervallzeit in Sekunden für den Versand und Empfang von Keep-Alive-Telegrammen |
private int |
_wanComKeepAliveType
WanCom-Typfeld ind Keep-Alive-Telegrammen |
private int |
_wanComTlsType
WanCom-Typ für versendete TLS-Telegramme |
private int |
_wanComTlsTypeReceive
WanCom-Typ für empfangene TLS-Telegramme |
private int |
_wanComVersion
Versionsfeld der WanCom-Telegramme |
Fields inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer.Link |
---|
_linkLock, _linkState, _remoteAddress |
Constructor Summary | |
---|---|
private |
Server.Link(int remoteAddress)
Erzeugt ein neues Verbindungsobjekt. |
Method Summary | |
---|---|
void |
abort()
Initiiert den sofortigen Abbruch der bestehenden Verbindung dieses Verbindungsobjekts |
private void |
closeChannel()
Schließt den Kommunikationskanal zum Client und plant den erneuten Aufbau der Kommunikationsverbindung nach der durch den Parameter "wancom.connectRetryDelay" vorgebbaren Wartezeit ein. |
private void |
closeChannel(int reconnectDelay)
Schließt den Kommunikationskanal zum Client und plant den erneuten Aufbau der Kommunikationsverbindung nach einer vorgebbaren Wartezeit ein. |
void |
connect()
Initiiert den Verbindungsaufbau mit dem Kommunikationspartner dieses Verbindungsobjekts |
private void |
connectSocketChannel(Selector selector)
Asynchroner Verbindungsaufbau. |
DataLinkLayer |
getDataLinkLayer()
Bestimmt das Kommunikationsprotokoll zu dem diese Verbindung gehört. |
String |
getProperty(String name)
Liefert einen Parameterwert zurück. |
void |
handleAction(Server.ActionType action,
Selector selector)
Führt eine Aktion für dieses Verbindungsobjekt aus. |
private void |
handleAsyncSend(Selector selector)
Führt den asynchronen Versand von noch zu versendenden Telegrammen aus. |
void |
handleSelection(SelectionKey selectionKey,
Selector selector)
Verarbeitet asynchrone Kommunikationsoperationen anhand der vom Selektor des Protokoll-Threads gelieferten Möglichkeiten |
private void |
notifyWorker(Server.ActionType action)
Sendet eine Aktion für dieses Verbindungsobjekt zur Ausführung an den Protokoll-Thread. |
void |
reload()
Initiiert den Abbruch und erneuten Verbindungsaufbau einer bestehenden Verbindung mit evtl. |
private void |
scheduleActionTimer(Server.ActionType actionType,
int delaySeconds)
Plant eine Aktion mit Hilfe eines Timer-Objekts zur späteren Ausführung ein. |
void |
send(byte[] bytes,
int priority)
Initiiert den Versand eines Telegramms. |
void |
setProperties(Properties properties)
Setzt neue Parameterwerte. |
void |
shutdown()
Initiiert das Schließen der bestehenden Verbindung dieses Verbindungsobjekts |
Methods inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer.Link |
---|
getRemoteAddress, getState, notifyEvent, toString |
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.osi2.api.DataLinkLayer.Link |
---|
getRemoteAddress, getState |
Field Detail |
---|
private final PriorityChannel _sendChannel
private ServerSocketChannel _serverSocketChannel
null
.
private SocketChannel _socketChannel
null
.
private Properties _properties
private final PropertyConsultant _propertyConsultant
private int _wanComVersion
private int _wanComKeepAliveTimeSeconds
private int _wanComKeepAliveTimeoutCount
private int _wanComConnectRetryDelay
private final Timer _timer
private final ByteBuffer _readBuffer
private final ByteBuffer _sendBuffer
private int _wanComKeepAliveType
private int _wanComTlsType
private int _wanComTlsTypeReceive
private long _lastKeepAliveReceive
private int _keepAliveReceiveTimeoutCount
private boolean _sendKeepAlive
private byte[] _wanComIp8
byte[] _packetOnTheAir
Constructor Detail |
---|
private Server.Link(int remoteAddress)
remoteAddress
- OSI-2 Adresse des KommunikationspartnersMethod Detail |
---|
private void notifyWorker(Server.ActionType action)
action
- Auszuführende Aktionpublic DataLinkLayer getDataLinkLayer()
DataLinkLayer.Link
getDataLinkLayer
in interface DataLinkLayer.Link
public String getProperty(String name)
getProperty
in interface DataLinkLayer.Link
getProperty
in interface PropertyQueryInterface
name
- Name des gewünschten Parameterwerts.
DataLinkLayer.Link.setProperties(java.util.Properties)
,
DataLinkLayer.getProperty(java.lang.String)
public void setProperties(Properties properties)
setProperties
in interface DataLinkLayer.Link
properties
- Neue Parameterwerte.public void connect()
connect
in interface DataLinkLayer.Link
public void shutdown()
shutdown
in interface DataLinkLayer.Link
public void abort()
abort
in interface DataLinkLayer.Link
public void reload()
public void send(byte[] bytes, int priority) throws InterruptedException
send
in interface DataLinkLayer.Link
bytes
- Bytearray mit den Bytes des zu sendenden Telegramms.priority
- Priorität des zu sendenden Telegramms.
InterruptedException
- Wenn der aktuelle Thread unterbrochen wurde.public void handleAction(Server.ActionType action, Selector selector)
action
- Auszuführende Aktionselector
- Selektor des Protokoll-Threads zum asynchronen Zugriff auf die Kommunikationskanäle.private void handleAsyncSend(Selector selector)
selector
- Selektor des Protokoll-Threads zum asynchronen Zugriff auf die Kommunikationskanäle.private void closeChannel()
private void closeChannel(int reconnectDelay)
reconnectDelay
- Wartezeit nach der die Verbindung wieder aufgebaut werden soll.public void handleSelection(SelectionKey selectionKey, Selector selector)
selectionKey
- Vom Selektor des Protokoll-Threads gelieferte Kommunikationsmöglichkeitenselector
- Selektor des Protokoll-Threads zum asynchronen Zugriff auf die Kommunikationskanäle.private void connectSocketChannel(Selector selector)
selector
- Selektor des Protokoll-Threads zum asynchronen Zugriff auf die Kommunikationskanäle.private void scheduleActionTimer(Server.ActionType actionType, int delaySeconds)
actionType
- Auszuführende AktiondelaySeconds
- Verzögerungszeit in Sekunden nach der die Aktion ausgeführt werden soll.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |