de.bsvrz.kex.tls.osi2osi3.osi2.tc57primary
Class Primary.Link

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

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


Field Summary
private  boolean _acd
           
private  boolean _dfc
           
private  boolean _fcb
           
private  long _lastGoodReply
           
 Primary.PollState _pollState
           
private  Properties _properties
           
private  PropertyConsultant _propertyConsultant
           
private  PrimaryFrame _queryFrame
           
private  int _retryCount
           
private  PriorityChannel _sendChannel
           
 
Fields inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer.Link
_linkLock, _linkState, _remoteAddress
 
Constructor Summary
private Primary.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 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

_sendChannel

private final PriorityChannel _sendChannel

_properties

private Properties _properties

_pollState

public Primary.PollState _pollState

_fcb

private boolean _fcb

_acd

private boolean _acd

_dfc

private boolean _dfc

_retryCount

private int _retryCount

_lastGoodReply

private long _lastGoodReply

_queryFrame

private PrimaryFrame _queryFrame

_propertyConsultant

private final PropertyConsultant _propertyConsultant
Constructor Detail

Primary.Link

private Primary.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()
                               throws InterruptedException
Throws:
InterruptedException