de.bsvrz.kex.tls.osi2osi3.osi2.tc57listen
Class Wiretapper.Link

java.lang.Object
  extended by de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer.Link
      extended by de.bsvrz.kex.tls.osi2osi3.osi2.tc57listen.Wiretapper.Link
All Implemented Interfaces:
DataLinkLayer.Link, PropertyQueryInterface
Enclosing class:
Wiretapper

private class Wiretapper.Link
extends AbstractDataLinkLayer.Link
implements DataLinkLayer.Link, PropertyQueryInterface


Field Summary
private  boolean _fcb
           
private  long _lastGoodReply
           
private  Properties _properties
           
private  PropertyConsultant _propertyConsultant
           
private  boolean _tolerateRetry
           
 
Fields inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer.Link
_linkLock, _linkPropertyLock, _linkState, _remoteAddress
 
Constructor Summary
private Wiretapper.Link(int remoteAddress)
           
 
Method Summary
 void abort()
          Abbruch der Kommunikation auf dieser logischen Verbindung.
 void connect()
          Aktiviert die Kommunikation auf dieser logischen Verbindung.
 DataLinkLayer getDataLinkLayer()
          Bestimmt das Kommunikationsprotokoll zu dem diese Verbindung gehört.
 String getProperty(String name)
          Bestimmt den Wert eines bestimmten Verbindungsparameters.
 void handleErrorSituation(String message)
           
 void handleQuery(PrimaryFrame primaryFrame, SecondaryFrame secondaryFrame)
           
 void send(byte[] bytes, int priority)
          Übernimmt die übergebenen Nutzdaten in den Sendepuffer.
 void setProperties(Properties properties)
          Setzt einen neuen verbindungsspezifischen Satz von Verbindungsparametern.
 void shutdown()
          Beendet die Kommunikation auf dieser logischen Verbindung.
private  boolean synchronizedPollAction()
          Führt Pollaktionen durch, die notwendig sind, bevor der synchronisierte Bereich zum Zugriff auf die Liste mit den zu bearbeitenden Verbindungen (_links) verlassen wird.
 String toString()
           
private  void unsynchronizedPollAction()
           
 
Methods inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer.Link
getRemoteAddress, getState, notifyEvent
 
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

_properties

private Properties _properties

_fcb

private boolean _fcb

_lastGoodReply

private long _lastGoodReply

_propertyConsultant

private final PropertyConsultant _propertyConsultant

_tolerateRetry

private boolean _tolerateRetry
Constructor Detail

Wiretapper.Link

private Wiretapper.Link(int remoteAddress)
Method Detail

toString

public String toString()
Overrides:
toString in class AbstractDataLinkLayer.Link

getDataLinkLayer

public DataLinkLayer getDataLinkLayer()
Description copied from interface: DataLinkLayer.Link
Bestimmt das Kommunikationsprotokoll zu dem diese Verbindung gehört.

Specified by:
getDataLinkLayer in interface DataLinkLayer.Link
Returns:
Kommunikationsprotokoll dieser Verbindung.

getProperty

public String getProperty(String name)
Description copied from interface: DataLinkLayer.Link
Bestimmt den Wert eines bestimmten Verbindungsparameters. Wenn der gewünschte Verbindungsparameter nicht in den verbindungsspezifischen Parametern enthalten ist, wird mit der DataLinkLayer.getProperty(java.lang.String) Methode des Sicherungsprotokolls ein Defaultwert bestimmt.

Specified by:
getProperty in interface DataLinkLayer.Link
Specified by:
getProperty in interface PropertyQueryInterface
Parameters:
name - Name des Verbindungsparameters.
Returns:
Wert des Verbindungsparameters.
See Also:
DataLinkLayer.Link.setProperties(java.util.Properties), DataLinkLayer.getProperty(java.lang.String)

setProperties

public void setProperties(Properties properties)
Description copied from interface: DataLinkLayer.Link
Setzt einen neuen verbindungsspezifischen Satz von Verbindungsparametern.

Specified by:
setProperties in interface DataLinkLayer.Link
Parameters:
properties - Neue Verbindungsparameter.

connect

public void connect()
Description copied from interface: DataLinkLayer.Link
Aktiviert die Kommunikation auf dieser logischen Verbindung.

Specified by:
connect in interface DataLinkLayer.Link

shutdown

public void shutdown()
              throws InterruptedException
Description copied from interface: DataLinkLayer.Link
Beendet die Kommunikation auf dieser logischen Verbindung. Vor der Terminierung der Verbindung wird sichergestellt, dass Daten, die zuvor an die Methode DataLinkLayer.Link.send(byte[], int) übergeben wurden, auch übertragen werden.

Specified by:
shutdown in interface DataLinkLayer.Link
Throws:
InterruptedException

abort

public void abort()
           throws InterruptedException
Description copied from interface: DataLinkLayer.Link
Abbruch der Kommunikation auf dieser logischen Verbindung. Der Aufruf dieser Methode führt zur sofortigen Terminierung der Verbindung. Daten, die zuvor an die Methode DataLinkLayer.Link.send(byte[], int) übergeben wurden und noch nicht übertragen wurden, werden nicht mehr übertragen.

Specified by:
abort in interface DataLinkLayer.Link
Throws:
InterruptedException

send

public void send(byte[] bytes,
                 int priority)
          throws InterruptedException
Description copied from interface: DataLinkLayer.Link
Übernimmt die übergebenen Nutzdaten in den Sendepuffer. Die übergebenen Nutzdaten werden asynchron in der Reihenfolge der Aufrufe dieser Methode an den Kommunikationspartner dieser Verbindung übertragen.

Specified by:
send in interface DataLinkLayer.Link
Parameters:
bytes - Zu übertragende Nutzdatenbytes.
priority - Priorität der zu übertragenden Daten
Throws:
InterruptedException

synchronizedPollAction

private boolean synchronizedPollAction()
Führt Pollaktionen durch, die notwendig sind, bevor der synchronisierte Bereich zum Zugriff auf die Liste mit den zu bearbeitenden Verbindungen (_links) verlassen wird.

Returns:
true, wenn eine Aktion durchgeführt wurde und das Polling mit der nächsten Verbindung fortgesetzt werden soll, sonst false.

unsynchronizedPollAction

private void unsynchronizedPollAction()

handleQuery

public void handleQuery(PrimaryFrame primaryFrame,
                        SecondaryFrame secondaryFrame)

handleErrorSituation

public void handleErrorSituation(String message)