public class OutgoingTransmitterConnections extends AbstractTransmitterConnections
Verwaltung für ausgehende Datenverteilerverbindungen
Modifier and Type | Class and Description |
---|---|
(package private) class |
OutgoingTransmitterConnections.TransmitterReconnectionTask |
Modifier and Type | Field and Description |
---|---|
private TransmitterConnectionMap |
_connections
Verwaltung aller offenen Verbindungen
|
private static Debug |
_debug |
private int |
_reconnectionDelay
Wartezeit in ms, bevor versucht wird, eine abgebrochene Verbindung wiederherzustellen
|
private ServerConnectionInterface |
_serverConnection
Factory zum Aufbauen von Verbindungen (z.B.
|
private java.util.concurrent.ScheduledExecutorService |
_transmitterReconnectService
Threadpool, der nicht etablierte Verbindungen aufbaut
|
_lowLevelConnectionsManager, _serverDavParameters, _transmitterManager
Constructor and Description |
---|
OutgoingTransmitterConnections(ServerConnectionInterface serverConnection,
int reconnectionDelay,
ServerDavParameters serverDavParameters,
LowLevelConnectionsManagerInterface lowLevelConnectionsManager,
HighLevelTransmitterManager transmitterManager,
TransmitterConnectionMap connectionMap)
Konstruktor
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
private void |
connectToAlternativeTransmitters(TransmitterConnectionInfo transmitterConnectionInfo)
Startet den Ersatzverbindungsaufbau zwischen zwei nicht direkt benachbarten Datenverteilern.
|
private boolean |
connectToMainTransmitter(TransmitterConnectionInfo transmitterConnectionInfo)
Startet den Verbindungsaufbau zwischen zwei direkt benachbarten Datenverteilern.
|
private boolean |
connectToTransmitter(TransmitterInfo transmitterInfo,
short weight,
long time,
java.lang.String userName)
Startet den Verbindungsaufbau zwischen zwei Datenverteilern.
|
private void |
connectToTransmitter(TransmitterInfo transmitterInfo,
short weight,
java.lang.String userName,
ClientCredentials clientCredentials)
Etabliert Verbindung zwischen zwei Datenverteilern.
|
private void |
disableReplacementConnection(TransmitterConnectionInfo transmitterConnectionInfo) |
private java.util.List<TransmitterConnectionInfo> |
getInvolvedTransmitters(TransmitterInfo transmitterInfo)
Erstellt ein Array, das die Informationen über die benachbarten Datenverteiler des übergebenen Datenverteilers enthält.
|
(package private) void |
scheduleTransmitterConnect(TransmitterConnectionInfo transmitterConnectionInfo,
int delay,
java.util.concurrent.TimeUnit timeUnit) |
void |
start() |
private T_T_HighLevelCommunication |
startTransmitterConnection(TransmitterInfo transmitterInfo,
short weight,
java.lang.String userName,
ClientCredentials clientCredentials,
int subAddressToConnectTo) |
private void |
terminateReplacementConnection(TransmitterInfo transmitterInfo,
boolean automatic) |
void |
updateId(T_T_HighLevelCommunication communication)
Wird aufgerufen, wenn die ID des Remote-Transmitters bekannt wird (d. h. die Authentifizierung abgeschlossen ist)
|
createLowLevelCommunication, createTransmitterHighLevelCommunication
private static final Debug _debug
private final java.util.concurrent.ScheduledExecutorService _transmitterReconnectService
Threadpool, der nicht etablierte Verbindungen aufbaut
private final TransmitterConnectionMap _connections
Verwaltung aller offenen Verbindungen
private final ServerConnectionInterface _serverConnection
Factory zum Aufbauen von Verbindungen (z.B. TCP_IP_ServerCommunication
)
private final int _reconnectionDelay
Wartezeit in ms, bevor versucht wird, eine abgebrochene Verbindung wiederherzustellen
public OutgoingTransmitterConnections(ServerConnectionInterface serverConnection, int reconnectionDelay, ServerDavParameters serverDavParameters, LowLevelConnectionsManagerInterface lowLevelConnectionsManager, HighLevelTransmitterManager transmitterManager, TransmitterConnectionMap connectionMap)
Konstruktor
serverConnection
- Factory zum Aufbauen von Verbindungen (z.B. TCP_IP_ServerCommunication
)reconnectionDelay
- Wiederverbindungswartezeit nach VerbindungsabbruchserverDavParameters
- Server-ParameterlowLevelConnectionsManager
- Low-Level-VerbindungsverwaltungtransmitterManager
- High-Level-Verwaltung für Dav-Dav-Verbindungen (Anmeldelisten usw.)connectionMap
- Verwaltung für alle offenen Verbindungen pro Datenverteilerpublic void start()
public void updateId(T_T_HighLevelCommunication communication)
Wird aufgerufen, wenn die ID des Remote-Transmitters bekannt wird (d. h. die Authentifizierung abgeschlossen ist)
communication
- private boolean connectToMainTransmitter(TransmitterConnectionInfo transmitterConnectionInfo)
Startet den Verbindungsaufbau zwischen zwei direkt benachbarten Datenverteilern. Beim Verbindungsaufbau zwischen zwei DAV werden durch die Angabe der beiden Kommunikationspartner, die Wichtung der Verbindung, die Angabe, welche(r) Datenverteiler die Verbindung aufbaut und die Spezifikation von Ersatzverbindungen festgelegt, um welche Art von Verrbindung es sich handelt.
transmitterConnectionInfo
- Enthält Informationen zu der Verbindungart zwischen zwei Datenverteilern.connectToTransmitter(TransmitterInfo, short, long, String)
private void connectToAlternativeTransmitters(TransmitterConnectionInfo transmitterConnectionInfo)
Startet den Ersatzverbindungsaufbau zwischen zwei nicht direkt benachbarten Datenverteilern. Beim Verbindungsaufbau zwischen zwei DAV werden durch die Angabe der beiden Kommunikationspartner, die Wichtung der Verbindung, die Angabe, welche(r) Datenverteiler die Verbindung aufbaut und die Spezifikation von Ersatzverbindungen festgelegt, um welche Art von Verrbindung es sich handelt. Ob Ersatzverbindungen automatisch etabliert werden sollen, wird durch das autoExchangeTransmitterDetection Flag festgelegt.
transmitterConnectionInfo
- Enthält Informationen zu der Verbindungart zwischen zwei Datenverteilern.connectToTransmitter(TransmitterInfo, short, long, String)
private java.util.List<TransmitterConnectionInfo> getInvolvedTransmitters(TransmitterInfo transmitterInfo)
Erstellt ein Array, das die Informationen über die benachbarten Datenverteiler des übergebenen Datenverteilers enthält.
transmitterInfo
- Information zum Datenverteilerprivate T_T_HighLevelCommunication startTransmitterConnection(TransmitterInfo transmitterInfo, short weight, java.lang.String userName, ClientCredentials clientCredentials, int subAddressToConnectTo) throws ConnectionException
ConnectionException
private boolean connectToTransmitter(TransmitterInfo transmitterInfo, short weight, long time, java.lang.String userName)
Startet den Verbindungsaufbau zwischen zwei Datenverteilern. Falls keine Verbindung etabliert werden konnte, wird eine entsprechende Exception gefangen
transmitterInfo
- Information zum Datenverteilerweight
- Die Information wird von der Wegverwaltung benutzt, wenn eine Verbindung bewertet wird.time
- Zeitspanne in der versucht werden soll eine Verbindung aufzubauen, in Millisekunden. Minimale Wartezeit eine Sekunde.userName
- Benutzername mit dem die Authentifizierung durchgeführt werden soll.connectToTransmitter(TransmitterInfo, short, String, ClientCredentials)
private void connectToTransmitter(TransmitterInfo transmitterInfo, short weight, java.lang.String userName, ClientCredentials clientCredentials) throws ConnectionException, CommunicationError
Etabliert Verbindung zwischen zwei Datenverteilern. Falls keine Verbindung aufgebaut werden konnte, wird eine entsprechende Ausnahme geworfen.
transmitterInfo
- Informationen zum Datenverteiler.weight
- Die Information wird von der Wegverwaltung benutzt, wenn eine Verbindung bewertet wird.userName
- Benutzername mit dem die Authentifizierung durchgeführt werden soll.clientCredentials
- Passwort des Benutzers mit dem die Authentifizierung durchgeführt werden soll.ConnectionException
- wenn eine Verbindung nicht aufgebaut werden konnteCommunicationError
- wenn bei der initialen Kommunikation mit dem Datenverteiler Fehler aufgetreten sindprivate void disableReplacementConnection(TransmitterConnectionInfo transmitterConnectionInfo)
private void terminateReplacementConnection(TransmitterInfo transmitterInfo, boolean automatic)
public void close()
void scheduleTransmitterConnect(TransmitterConnectionInfo transmitterConnectionInfo, int delay, java.util.concurrent.TimeUnit timeUnit)