public final class LowLevelTransmitterConnections
extends java.lang.Object
Diese Klasse ist die Low-level-Verwaltung für Datenverteiler-Datenverteiler-Verbindungen Sie kümmert sich um den Verbindungsaufbau und um dem Aufbau bei Ersatzverbindungen im Falle eines Fehlers.
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug |
private IncomingTransmitterConnections |
_incomingTransmitterConnections
Verwaltung für eingehende Verbindungen
|
private LowLevelConnectionsManagerInterface |
_lowLevelConnectionsManager
Referenz auf den LowLevelConnectionsManager (Allgemeine Verbindungsverwaltung)
|
private long |
_myTransmitterId
Eigene Datenverteiler-ID
|
private OutgoingTransmitterConnections |
_outgoingTransmitterConnections
Verwaltung für ausgehende Verbindungen
|
private int |
_reconnectionDelay
Wiederverbindungswartezeit in Millisekunden
|
private ServerDavParameters |
_serverDavParameters
Parameter des Datenverteilers
|
private TransmitterConnectionMap |
_transmitterConnectionMap
Hilfsklasse für die Zuordnung zwischen (aktiven) Verbindungen und konfigurierten Verbindungen
|
private HighLevelTransmitterManager |
_transmitterManager
High-Level-Verwaltung für Dav-Dav Verbindungen
|
private static short |
DEFAULT_WEIGHT |
Constructor and Description |
---|
LowLevelTransmitterConnections(HighLevelTransmitterManager transmitterManager,
ServerDavParameters serverDavParameters,
LowLevelConnectionsManagerInterface lowLevelConnectionsManager)
Konstruktor
|
Modifier and Type | Method and Description |
---|---|
private int |
analyseConnectionInfosAndGetSubadress(TransmitterConnectionInfo[] _transmitterConnectionInfos) |
void |
close(boolean error,
java.lang.String message) |
void |
disableConnection(long davId) |
void |
enableConnection(long davId) |
java.util.Set<java.lang.Long> |
getDisabledTransmitterConnections() |
private int |
getListenSubadress(TransmitterConnectionInfo[] transmitterConnectionInfos)
Bestimmt den Port, auf dem der Server auf eingehende Verbindungen lauscht.
|
TransmitterConnectionInfo |
getRemoteTransmitterConnectionInfo(long connectedTransmitterId) |
java.util.Map<TransmitterInfo,CommunicationStateAndMessage> |
getStateMap() |
T_T_HighLevelCommunication |
getTransmitterConnection(long transmitterId) |
TransmitterConnectionInfo |
getTransmitterConnectionInfo(long connectedTransmitterId) |
java.util.Collection<T_T_HighLevelCommunication> |
getTransmitterConnections() |
short |
getWeight(long connectedTransmitterId)
Diese Methode wird von der Protokollsteuerung aufgerufen, um einer Verbindung ein Gewicht zuzuweisen.
|
private void |
putTransmitterInMap(java.util.Map<TransmitterInfo,CommunicationStateAndMessage> result,
TransmitterInfo transmitterInfo) |
void |
removeTransmitterConnection(T_T_HighLevelCommunication transmitterCommunication)
Entfernt die angegebene Verbindung, weil diese terminiert wurde
|
void |
setDisabledTransmitterConnections(java.util.Collection<java.lang.Long> disabledConnections) |
void |
startTransmitterConnections(java.lang.Class<? extends ServerConnectionInterface> communicationProtocolClass,
TransmitterConnectionInfo[] transmitterConnectionInfos,
java.util.Collection<java.lang.Long> disabledConnections)
Startet den Aufbau der Dav-Dav-Verbindungen
|
void |
updateId(T_T_HighLevelCommunication communication) |
private static final Debug _debug
private static final short DEFAULT_WEIGHT
private final int _reconnectionDelay
Wiederverbindungswartezeit in Millisekunden
private IncomingTransmitterConnections _incomingTransmitterConnections
Verwaltung für eingehende Verbindungen
private OutgoingTransmitterConnections _outgoingTransmitterConnections
Verwaltung für ausgehende Verbindungen
private final HighLevelTransmitterManager _transmitterManager
High-Level-Verwaltung für Dav-Dav Verbindungen
private final ServerDavParameters _serverDavParameters
Parameter des Datenverteilers
private final LowLevelConnectionsManagerInterface _lowLevelConnectionsManager
Referenz auf den LowLevelConnectionsManager (Allgemeine Verbindungsverwaltung)
private final long _myTransmitterId
Eigene Datenverteiler-ID
private TransmitterConnectionMap _transmitterConnectionMap
Hilfsklasse für die Zuordnung zwischen (aktiven) Verbindungen und konfigurierten Verbindungen
public LowLevelTransmitterConnections(HighLevelTransmitterManager transmitterManager, ServerDavParameters serverDavParameters, LowLevelConnectionsManagerInterface lowLevelConnectionsManager)
Konstruktor
transmitterManager
- High-Level-VerwaltungserverDavParameters
- ParameterlowLevelConnectionsManager
- Low-Level-Verwaltungpublic void startTransmitterConnections(java.lang.Class<? extends ServerConnectionInterface> communicationProtocolClass, TransmitterConnectionInfo[] transmitterConnectionInfos, java.util.Collection<java.lang.Long> disabledConnections) throws java.lang.InstantiationException, java.lang.IllegalAccessException, CommunicationError
Startet den Aufbau der Dav-Dav-Verbindungen
communicationProtocolClass
- Kommunikationsprotokoll-KlassetransmitterConnectionInfos
- Konfigurierte Dav-Dav-VerbindungendisabledConnections
- Deaktivierte Verbindungenjava.lang.InstantiationException
- Wenn das Kommunikationsprotokoll nicht erzeugt werden kann (benötigt öffentlichen, parameterlosen Konstruktor)java.lang.IllegalAccessException
- Wenn das Kommunikationsprotokoll nicht erzeugt werden kann (benötigt öffentlichen, parameterlosen Konstruktor)CommunicationError
- Wenn beim Aufbau der Serververbindung ein Fehler auftritt (z.B. Port bereits belegt)private int getListenSubadress(TransmitterConnectionInfo[] transmitterConnectionInfos)
Bestimmt den Port, auf dem der Server auf eingehende Verbindungen lauscht.
transmitterConnectionInfos
- Verbindungsinfosprivate int analyseConnectionInfosAndGetSubadress(TransmitterConnectionInfo[] _transmitterConnectionInfos)
public final short getWeight(long connectedTransmitterId)
Diese Methode wird von der Protokollsteuerung aufgerufen, um einer Verbindung ein Gewicht zuzuweisen. Die Information wird von der Wegverwaltung benutzt, wenn eine Verbindung bewertet wird.
connectedTransmitterId
- ID des DAVpublic void close(boolean error, java.lang.String message)
public void removeTransmitterConnection(T_T_HighLevelCommunication transmitterCommunication)
Entfernt die angegebene Verbindung, weil diese terminiert wurde
transmitterCommunication
- Verbindungpublic java.util.Collection<T_T_HighLevelCommunication> getTransmitterConnections()
public void updateId(T_T_HighLevelCommunication communication)
public java.util.Set<java.lang.Long> getDisabledTransmitterConnections()
public void setDisabledTransmitterConnections(java.util.Collection<java.lang.Long> disabledConnections)
public void enableConnection(long davId)
public void disableConnection(long davId)
public java.util.Map<TransmitterInfo,CommunicationStateAndMessage> getStateMap()
private void putTransmitterInMap(java.util.Map<TransmitterInfo,CommunicationStateAndMessage> result, TransmitterInfo transmitterInfo)
public TransmitterConnectionInfo getTransmitterConnectionInfo(long connectedTransmitterId)
public TransmitterConnectionInfo getRemoteTransmitterConnectionInfo(long connectedTransmitterId)
public T_T_HighLevelCommunication getTransmitterConnection(long transmitterId)