public class Primary extends AbstractTc57 implements PropertyQueryInterface
OSI-2 Modul, das das TC57-Protokoll nach TLS auf Seite der Primary implementiert.
Modifier and Type | Class and Description |
---|---|
private class |
Primary.Link |
private static class |
Primary.PollState
Definiert die möglichen Unterzustände einer Verbindung.
|
private static class |
Primary.PriorizedByteArray |
private class |
Primary.RunnablePrimary |
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug |
private java.util.List |
_links |
private java.util.ListIterator |
_linksPollingIterator |
private java.util.Properties |
_newProperties |
private static boolean |
_offlineTest |
private java.lang.Thread |
_pollingThread |
private java.lang.Object |
_protocolLock |
private boolean |
_reloadProperties |
private SerialPortControl |
_serialPortControl |
private boolean |
_shuttingDown |
private int |
_simulatedDataCount |
private boolean |
_started |
private boolean |
_stopped |
Constructor and Description |
---|
Primary() |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Beendet die Kommunikation dieses Protokolls.
|
DataLinkLayer.Link |
createLink(int remoteAddress)
Erzeugt eine neue logische Verbindung zu einem bestimmten Kommunikationspartner.
|
boolean |
isStarted()
Bestimmt, ob die Kommunikation dieses Protokolls bereits mit dr Methode
start() aktiviert wurde. |
private SecondaryFrame |
querySecondary(PrimaryFrame primaryFrame,
PropertyConsultant propertyConsultant,
Primary.Link link) |
void |
setDavConnection(ClientDavInterface connection)
Nimmmt die Verbindung zum Datenverteiler entgegen.
|
void |
setProperties(java.util.Properties properties)
Setzt einen neuen Satz von Protokoll-Parametern.
|
void |
shutdown()
Beendet die Kommunikation dieses Protokolls.
|
private SecondaryFrame |
simulateQuery(PrimaryFrame primaryFrame) |
private byte[] |
simulateQueryBytes(PrimaryFrame primaryFrame) |
void |
start()
Aktiviert die Kommunikation dieses Protokolls.
|
java.lang.String |
toString() |
getDefaultProperty, getMaximumDataSize
addEventListener, allowConnection, allowConnection, checkConnection, getLocalAddress, getProperty, notifyEvent, notifyEvent, removeEventListener, setLocalAddress
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getProperty
private static final Debug _debug
private final java.lang.Object _protocolLock
private final java.lang.Thread _pollingThread
private boolean _started
private boolean _stopped
private boolean _shuttingDown
private java.util.List _links
private java.util.ListIterator _linksPollingIterator
private SerialPortControl _serialPortControl
private java.util.Properties _newProperties
private boolean _reloadProperties
private static final boolean _offlineTest
private int _simulatedDataCount
public java.lang.String toString()
toString
in class java.lang.Object
public void setDavConnection(ClientDavInterface connection)
Nimmmt die Verbindung zum Datenverteiler entgegen. Diese Methode wird vom OSI-3 Modul nach dem Erzeugen des OSI-2 Moduls durch den jeweiligen Konstruktor aufgerufen. Eine Implementierung eines Protokollmoduls kann sich bei Bedarf die übergebene Datenverteilerverbindung intern merken, um zu späteren Zeitpunkten auf die Datenverteiler-Applikationsfunktionen zuzugreifen.
setDavConnection
in interface DataLinkLayer
connection
- Verbindung zum Datenverteilerpublic boolean isStarted()
Bestimmt, ob die Kommunikation dieses Protokolls bereits mit dr Methode start()
aktiviert wurde.
isStarted
in interface DataLinkLayer
true
, wenn die Kommunikation dieses Protokolls bereits aktiviert wurde, sonst false
.public void start()
DataLinkLayer
Aktiviert die Kommunikation dieses Protokolls.
start
in interface DataLinkLayer
public void shutdown()
DataLinkLayer
Beendet die Kommunikation dieses Protokolls. Alle noch verbundenen Links werden mit der Methode DataLinkLayer.Link.shutdown()
terminiert. Dabei wird sichergestellt, dass Daten, die zuvor an die Methode DataLinkLayer.Link.send(byte[], int)
übergeben wurden, auch übertragen werden.
shutdown
in interface DataLinkLayer
public void abort()
DataLinkLayer
Beendet die Kommunikation dieses Protokolls. Alle noch verbundenen Links werden mit der Methode DataLinkLayer.Link.abort()
terminiert.
abort
in interface DataLinkLayer
public void setProperties(java.util.Properties properties)
DataLinkLayer
Setzt einen neuen Satz von Protokoll-Parametern. Diese dienen auch als Defaultwerte für die Verbindungsparameter.
setProperties
in interface DataLinkLayer
setProperties
in class AbstractDataLinkLayer
properties
- Neue Verbindungsparameter.DataLinkLayer.Link.getProperty(java.lang.String)
private SecondaryFrame querySecondary(PrimaryFrame primaryFrame, PropertyConsultant propertyConsultant, Primary.Link link) throws java.lang.InterruptedException, java.io.IOException
java.lang.InterruptedException
java.io.IOException
private SecondaryFrame simulateQuery(PrimaryFrame primaryFrame)
private byte[] simulateQueryBytes(PrimaryFrame primaryFrame)
public DataLinkLayer.Link createLink(int remoteAddress)
DataLinkLayer
Erzeugt eine neue logische Verbindung zu einem bestimmten Kommunikationspartner.
createLink
in interface DataLinkLayer
remoteAddress
- OSI-2 Adresse bzw. Portnummer des gewünschten Kommunikationspartners.