public class ConnectionManager extends Object
noSubscriptions(ClientDavInterface)
kann geprüft werden, ob es noch offene Anmeldungen
gibt.Modifier and Type | Field and Description |
---|---|
private static Hashtable<ClientDavInterface,ConnectionManager> |
connectionManagers
Ordnet jeder Datenverteiler-Verbindung einen eigenen connectionManager zu.
|
private static Debug |
debug
Debug Ausgabe
|
private Hashtable<DataIdentification,CMDrain> |
drains
Abbildung Datenidentifikation -> Anzahl angemeldeter Senken, zugeordnete Empfängerobjekte.
|
private Hashtable<DataIdentification,List<ClientReceiverInterface>> |
receivers
Abbildung Datenidentifikation -> Anzahl angemeldeter Empfänger, zugeordnete Empfängerobjekte.
|
private Hashtable<DataIdentification,CMSender> |
senders
Abbildung Datenidentifikation -> Anzahl angemeldeter Sender, zugeordnete Senderobjekte.
|
Constructor and Description |
---|
ConnectionManager() |
Modifier and Type | Method and Description |
---|---|
private static void |
eventuallyRemoveConnectionManager(ClientDavInterface dav)
Entfernt einen ConnectionManager aus der Menge der ConnectionManager (
connectionManagers ) falls er keine Anmeldungen mehr zu verwalten hat. |
private static ConnectionManager |
getConnectionManager(ClientDavInterface dav)
Liefert den der Datenverteilerverbindung zugeordneten ConnectionManager zurück.
|
private static DataIdentification |
getDID(ClientDavInterface dav,
SystemObject object,
DataDescription dataDescription)
Liefert die Datenidentifikation zurück.
|
static List<String> |
getReceiverInformation(ClientDavInterface dav) |
static List<String> |
getSenderInformation(ClientDavInterface dav) |
static boolean |
noSubscriptions(ClientDavInterface dav) |
static int |
numberReceivers(ClientDavInterface dav) |
static int |
numberSenders(ClientDavInterface dav) |
static void |
printStatus()
Gibt den Status aus.
|
static void |
resetSubscriptionMarkers(ClientDavInterface dav)
Loescht die Tabelle, in der alle Anmeldungen vermerkt sind.
|
static void |
subscrDrainNormal(ClientDavInterface dav,
ClientReceiverInterface receiver,
SystemObject so,
String atgPid,
String aspPid)
Anmeldung zum Empfangen von Daten.
|
static void |
subscribeReceiver(ClientDavInterface dav,
ClientReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription,
ReceiveOptions options,
ReceiverRole role)
Anmeldung zum Empfangen von Daten.
|
static void |
subscribeSender(ClientDavInterface dav,
ClientSenderInterface sender,
SystemObject object,
DataDescription dataDescription,
SenderRole role)
Anmeldung zum Senden von Daten.
|
static void |
subscrRecNormal(ClientDavInterface dav,
ClientReceiverInterface receiver,
SystemObject so,
String atgPid,
String aspPid)
Anmeldung zum Empfangen von Daten.
|
static void |
unsubscribeAll(ClientDavInterface dav)
Meldet alle Sender und Empfänger ab.
|
static void |
unsubscribeReceiver(ClientDavInterface dav,
ClientReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription)
Meldet den Empfang von Daten ab.
|
static void |
unsubscribeReceiver(ClientDavInterface dav,
ClientReceiverInterface receiver,
SystemObject so,
String atgPid,
String aspPid)
Meldet den Empfang von Daten ab, die aud dem Konfigurationsverantwortlichen angemeldet waren.
|
static void |
unsubscribeSender(ClientDavInterface dav,
ClientSenderInterface sender,
SystemObject object,
DataDescription dataDescription)
Meldet das Senden von Daten ab.
|
private static final Debug debug
private Hashtable<DataIdentification,List<ClientReceiverInterface>> receivers
private Hashtable<DataIdentification,CMDrain> drains
private Hashtable<DataIdentification,CMSender> senders
private static Hashtable<ClientDavInterface,ConnectionManager> connectionManagers
public static void printStatus()
private static ConnectionManager getConnectionManager(ClientDavInterface dav)
dav
- Datenverteilerverbindung.private static void eventuallyRemoveConnectionManager(ClientDavInterface dav)
connectionManagers
) falls er keine Anmeldungen mehr zu verwalten hat.dav
- public static void subscribeReceiver(ClientDavInterface dav, ClientReceiverInterface receiver, SystemObject object, DataDescription dataDescription, ReceiveOptions options, ReceiverRole role) throws ConfigurationException, FailureException
dav
- Verbindung zum Datenverteilerreceiver
- Empfängerobject
- Objekt. Objekt-Teil der Datenidentifikation.dataDescription
- Datenbeschreibung. Attributgruppe und Aspekt der Datenidentifikation.options
- Empfangsoptionen. Delta oder Normaldaten.role
- Anmeldung als Empfänger oder Senke.ConfigurationException
- Fehler bei der Kommunikation mit der Konfiguration.FailureException
- Mehrfach-Anmeldung des gleichen ReceiversClientDavInterface.subscribeReceiver(ClientReceiverInterface,SystemObject,DataDescription,ReceiveOptions,ReceiverRole)
public static void subscrDrainNormal(ClientDavInterface dav, ClientReceiverInterface receiver, SystemObject so, String atgPid, String aspPid) throws ConfigurationException, FailureException
ReceiveOptions.normal()
und
ReceiverRole.drain()
.dav
- Verbindung zum Datenverteilerreceiver
- EmpfängeratgPid
- Pid der AttributgruppeaspPid
- Pis des AspektesConfigurationException
FailureException
public static void subscrRecNormal(ClientDavInterface dav, ClientReceiverInterface receiver, SystemObject so, String atgPid, String aspPid) throws ConfigurationException, FailureException
ReceiveOptions.normal()
und
ReceiverRole.receiver()
.dav
- Verbindung zum Datenverteilerreceiver
- EmpfängeratgPid
- Pid der AttributgruppeaspPid
- Pis des AspektesConfigurationException
FailureException
public static void unsubscribeReceiver(ClientDavInterface dav, ClientReceiverInterface receiver, SystemObject so, String atgPid, String aspPid) throws ConfigurationException
dav
- receiver
- atgPid
- aspPid
- ConfigurationException
FailureException
public static void unsubscribeReceiver(ClientDavInterface dav, ClientReceiverInterface receiver, SystemObject object, DataDescription dataDescription) throws ConfigurationException
dav
- Verbindung zum Datenverteiler.receiver
- Empfängerobject
- Objekt. Objekt-Teil der Datenidentifikation.dataDescription
- Datenbeschreibung. Attributgruppe und Aspekt der Datenidentifikation.ConfigurationException
- Fehler bei der Kommunikation mit der Konfiguration.ClientDavInterface.unsubscribeReceiver(ClientReceiverInterface,SystemObject,DataDescription)
public static void subscribeSender(ClientDavInterface dav, ClientSenderInterface sender, SystemObject object, DataDescription dataDescription, SenderRole role) throws ConfigurationException, OneSubscriptionPerSendData
ConnectionManager
ruft die ClientSenderInterface.dataRequest(SystemObject,DataDescription,byte)
Methode mit dem zuletzt gültigen Wert
der Sendesteuerung auf. Dies ist nötig, falls der Sender, der sich anmelden will, vor dem Senden auf eine positive Sendesteuereung wartet. (Falls der Sender
die Sendesteuerung nicht benutzt, wird diese auch nicht aufgerufen.dav
- Verbindung zum Datenverteilersender
- Sender.object
- Objekt. Objekt-Teil der Datenidentifikation.dataDescription
- Datenbeschreibung. Attributgruppe und Aspekt der Datenidentifikation.role
- Anmeldung als Sender oder Quelle.ConfigurationException
- Fehler bei der Kommunikation mit der Konfiguration.OneSubscriptionPerSendData
- Falls bereits eine Anmeldung für diese Datenidentifikation existiert. Kann auftreten, wenn Anmeldungen zum Senden nicht
nur durch ConnectionManager
durchgeführt werden.ClientDavInterface.subscribeSender(ClientSenderInterface,SystemObject,DataDescription,SenderRole)
public static void unsubscribeSender(ClientDavInterface dav, ClientSenderInterface sender, SystemObject object, DataDescription dataDescription) throws ConfigurationException
dav
- Verbindung zum Datenverteiler.sender
- Sender.object
- Objekt. Objekt-Teil der Datenidentifikation.dataDescription
- Datenbeschreibung. Attributgruppe und Aspekt der Datenidentifikation.ConfigurationException
- Fehler bei der Kommunikation mit der Konfiguration.ClientDavInterface.unsubscribeSender(ClientSenderInterface,SystemObject,DataDescription)
public static void resetSubscriptionMarkers(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.private static DataIdentification getDID(ClientDavInterface dav, SystemObject object, DataDescription dataDescription)
subscribeReceiver
den Wert der SimVar ändern!dav
- Davobject
- ObjektdataDescription
- Datenbeschreibung.public static int numberSenders(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.public static int numberReceivers(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.public static boolean noSubscriptions(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.true
falls es keine Anmeldungen mehr gibt. false
sonst.public static void unsubscribeAll(ClientDavInterface dav)
dav
- Verbindung zum Datenverteilerpublic static List<String> getReceiverInformation(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.public static List<String> getSenderInformation(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.