|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.sys.funclib.losb.kernsoftware.ConnectionManager
public class ConnectionManager
Verwaltet die An- und Abmeldungen als Sender / Empfänger beim Dav.
Verhindert, dass die gleichen Datenidentifikationen mehrfach zum Senden / Empfangen angemeldet werden.
Außerdem werden Abmeldungen erst dann durchgeführt, wenn es keinen Sender / Empfänger mehr gibt.
Mehrfachanmeldungen eines Senders / Empfängers für die gleiche Datenidentifikation
sind nicht möglich, auch wenn er sich mit unterschiedlichen Rollen anmeldet.
Die Anmeldungen werden nach Datenverteilerverbindung getrennt verwaltet.
Mittels noSubscriptions(ClientDavInterface)
kann geprüft werden, ob es noch offene Anmeldungen gibt.
Alle Methoden sind Threadsafe.
Constructor Summary | |
---|---|
ConnectionManager()
|
Method Summary | |
---|---|
static java.util.List<java.lang.String> |
getReceiverInformation(ClientDavInterface dav)
|
static java.util.List<java.lang.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,
java.lang.String atgPid,
java.lang.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,
java.lang.String atgPid,
java.lang.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,
java.lang.String atgPid,
java.lang.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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ConnectionManager()
Method Detail |
---|
public static void printStatus()
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, java.lang.String atgPid, java.lang.String aspPid) throws ConfigurationException, FailureException
ReceiveOptions.normal()
und ReceiverRole.drain()
.
dav
- Verbindung zum Datenverteilerreceiver
- EmpfängeratgPid
- Pid der AttributgruppeaspPid
- Pis des Aspektes
ConfigurationException
FailureException
public static void subscrRecNormal(ClientDavInterface dav, ClientReceiverInterface receiver, SystemObject so, java.lang.String atgPid, java.lang.String aspPid) throws ConfigurationException, FailureException
ReceiveOptions.normal()
und ReceiverRole.receiver()
.
dav
- Verbindung zum Datenverteilerreceiver
- EmpfängeratgPid
- Pid der AttributgruppeaspPid
- Pis des Aspektes
ConfigurationException
FailureException
public static void unsubscribeReceiver(ClientDavInterface dav, ClientReceiverInterface receiver, SystemObject so, java.lang.String atgPid, java.lang.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.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 java.util.List<java.lang.String> getReceiverInformation(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.
public static java.util.List<java.lang.String> getSenderInformation(ClientDavInterface dav)
dav
- Verbindung zum Datenverteiler.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |