|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.sys.funclib.losb.kernsoftware.SimpleSender
public class SimpleSender
Klasse die das Senden immer unter Berücksichtigung der
Sendesteuerung durchführt. Nach dem Senden der Daten meldet sich der Sender
sofort beim Datenverteiler ab.
Falls keine Exception geworfen wird, und sent
dennoch false ist, dann
gibt es keinen Abnehmer für die Daten.
WICHTIG
Wenn versucht wird, etwas ohne angemeldeten Empfänger Quelle zu senden, dann wird (korrekterweise)
ein Fehler gemeldet.
Problematisch wird es, wenn sofort danach eine Quellen-/Empfängeranmeldung durchgeführt und das Senden
wiederholt wird. Dies führt zu einem Fehler, da die Sendesteuerung das Senden immer noch
nicht gestattet. Daher sollte eine Pause zwischen zwei Sendeversuchen liegen. (Siehe JUnit-Tests).
SubscriptionManager
Field Summary | |
---|---|
java.lang.String |
errorMsg
Mit null oder einer Fehlermeldung belegt. |
java.lang.Object |
lock
Wird als Synchronisationspunkt verwendet. |
boolean |
sent
Wird nach dem Senden gesetzt. |
Constructor Summary | |
---|---|
SimpleSender(ClientDavInterface dav,
SystemObject receiver,
DataDescription dataDescription,
Data data,
boolean source)
Erzeugt den Sender und sendet die Daten. |
Method Summary | |
---|---|
void |
dataRequest(SystemObject object,
DataDescription dataDescription,
byte state)
Sendesteuerung. |
boolean |
isRequestSupported(SystemObject object,
DataDescription dataDescription)
Sendesteuerung ist erwünscht. |
static SimpleSender |
send(ClientDavInterface dav,
SystemObject receiver,
DataDescription dataDescription,
Data data)
Erzeugt einen Sender und sendet die Daten als einfacher Sender. |
static boolean |
sendWait(ClientDavInterface dav,
SystemObject receiver,
DataDescription dataDescription,
Data data,
long timeout)
Erzeugt einen Sender und sendet die Daten als einfacher Sender. |
static SimpleSender |
source(ClientDavInterface dav,
SystemObject receiver,
DataDescription dataDescription,
Data data)
Erzeugt einen Sender und sendet die Daten als Quelle. |
static boolean |
sourceWait(ClientDavInterface dav,
SystemObject receiver,
DataDescription dataDescription,
Data data,
long timeout)
Erzeugt einen Sender und sendet die Daten als einfache Quelle. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public java.lang.Object lock
public boolean sent
public java.lang.String errorMsg
Constructor Detail |
---|
public SimpleSender(ClientDavInterface dav, SystemObject receiver, DataDescription dataDescription, Data data, boolean source) throws SenderException
dav
- Verbindung zum Datenverteilerreceiver
- Empfänger der DatendataDescription
- DataDescription der zu versendenden Datendata
- Daten, die versendet werden sollensource
- True wenn die Daten als Quelle versendet werden sollen. Ist source == false meldet sich SimpleSender
als einfacher Sender an.
SenderException
- Falls es bei der Sendeanmeldung zu einem Fehler kommt.Method Detail |
---|
public static SimpleSender send(ClientDavInterface dav, SystemObject receiver, DataDescription dataDescription, Data data) throws SenderException
SimpleSender(ClientDavInterface, SystemObject, DataDescription, Data, boolean)
- das hat den gleichen Effekt.
dav
- Verbindung zum Datenverteilerreceiver
- Empfänger der DatendataDescription
- DataDescription der zu versendenden Datendata
- Daten, die versendet werden sollen
SenderException
- Falls es bei der Sendeanmeldung zu einem Fehler kommt.public static boolean sendWait(ClientDavInterface dav, SystemObject receiver, DataDescription dataDescription, Data data, long timeout) throws SenderException
dav
- Verbindung zum Datenverteilerreceiver
- Empfänger der DatendataDescription
- DataDescription der zu versendenden Datendata
- Daten, die versendet werden sollentimeout
- Maximale Wartezeit in ms. Bei 0
unbegrenzt.
true
falls das Senden erfolgreich durchgeführt wurde.
SenderException
- Fehler beim Senden.
java.lang.RuntimeException
- Kann bei Fehler geworfen werden.public static SimpleSender source(ClientDavInterface dav, SystemObject receiver, DataDescription dataDescription, Data data) throws SenderException
dav
- Verbindung zum Datenverteilerreceiver
- Empfänger der DatendataDescription
- DataDescription der zu versendenden Datendata
- Daten, die versendet werden sollen
SenderException
- Fehler beim Senden.public static boolean sourceWait(ClientDavInterface dav, SystemObject receiver, DataDescription dataDescription, Data data, long timeout) throws SenderException
dav
- Verbindung zum Datenverteilerreceiver
- Empfänger der DatendataDescription
- DataDescription der zu versendenden Datendata
- Daten, die versendet werden sollentimeout
- Maximale Wartezeit in ms. Bei 0
unbegrenzt.
SenderException
- Falls es beim Senden zu einem Fehler kommt.
java.lang.RuntimeException
- Kann bei Fehler geworfen werden.public void dataRequest(SystemObject object, DataDescription dataDescription, byte state)
object
- Das in der zugehörigen Sendeanmeldung angegebene Objekt, auf das sich die Sendesteuerung bezieht.dataDescription
- Beschreibende Informationen zu den angemeldeten Daten auf die sich die Sendesteuerung bezieht.state
- Status der Sendesteuerung. Kann einen der Werte START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION enthalten.public boolean isRequestSupported(SystemObject object, DataDescription dataDescription)
object
- Das in der zugehörigen Sendeanmeldung angegebene System-Objekt.dataDescription
- Die in der zugehörigen Sendeanmeldung angegebenen beschreibenden Informationen der angemeldeten Daten.
true
, falls Sendesteuerungen gewünscht sind, sonst false
.ClientSenderInterface#isRequestSupported(SystemObject, DataDescription)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |