Skip navigation links
de.bsvrz.sys.funclib.losb.kernsoftware

Class SimpleSender

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      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.
      • Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface

        START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state)
      Sendesteuerung.
      boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription)
      Sendesteuerung ist erwünscht.
      static SimpleSender send(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject receiver, de.bsvrz.dav.daf.main.DataDescription dataDescription, de.bsvrz.dav.daf.main.Data data)
      Erzeugt einen Sender und sendet die Daten als einfacher Sender.
      static boolean sendWait(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject receiver, de.bsvrz.dav.daf.main.DataDescription dataDescription, de.bsvrz.dav.daf.main.Data data, long timeout)
      Erzeugt einen Sender und sendet die Daten als einfacher Sender.
      static SimpleSender source(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject receiver, de.bsvrz.dav.daf.main.DataDescription dataDescription, de.bsvrz.dav.daf.main.Data data)
      Erzeugt einen Sender und sendet die Daten als Quelle.
      static boolean sourceWait(de.bsvrz.dav.daf.main.ClientDavInterface dav, de.bsvrz.dav.daf.main.config.SystemObject receiver, de.bsvrz.dav.daf.main.DataDescription dataDescription, de.bsvrz.dav.daf.main.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

      • lock

        public java.lang.Object lock
        Wird als Synchronisationspunkt verwendet. Wird von Sender mit sent.notifyAll() geweckt, nachdem die Daten gesendet wurden.
      • sent

        public boolean sent
        Wird nach dem Senden gesetzt. True, falls das Senden erfolgreich durchgeführt wurde. False sonst. Falls keine Exception geworfen wird, und sent dennoch false ist, dann gibt es keinen Abnehmer für die Daten.
      • errorMsg

        public java.lang.String errorMsg
        Mit null oder einer Fehlermeldung belegt.
    • Method Detail

      • send

        public static SimpleSender send(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                        de.bsvrz.dav.daf.main.config.SystemObject receiver,
                                        de.bsvrz.dav.daf.main.DataDescription dataDescription,
                                        de.bsvrz.dav.daf.main.Data data)
                                 throws SenderException
        Erzeugt einen Sender und sendet die Daten als einfacher Sender. Alternativ kann auch ein neues Objekt erzeugt werden SimpleSender(ClientDavInterface,SystemObject,DataDescription,Data,boolean) - das hat den gleichen Effekt.
        Parameters:
        dav - Verbindung zum Datenverteiler
        receiver - Empfänger der Daten
        dataDescription - DataDescription der zu versendenden Daten
        data - Daten, die versendet werden sollen
        Returns:
        Einfacher Sender.
        Throws:
        SenderException - Falls es bei der Sendeanmeldung zu einem Fehler kommt.
      • sendWait

        public static boolean sendWait(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                       de.bsvrz.dav.daf.main.config.SystemObject receiver,
                                       de.bsvrz.dav.daf.main.DataDescription dataDescription,
                                       de.bsvrz.dav.daf.main.Data data,
                                       long timeout)
                                throws SenderException
        Erzeugt einen Sender und sendet die Daten als einfacher Sender. Die Methode wartet solange, bis die Daten gesendet wurden, oder es zu einem Fehler kam.
        Parameters:
        dav - Verbindung zum Datenverteiler
        receiver - Empfänger der Daten
        dataDescription - DataDescription der zu versendenden Daten
        data - Daten, die versendet werden sollen
        timeout - Maximale Wartezeit in ms. Bei 0 unbegrenzt.
        Returns:
        true falls das Senden erfolgreich durchgeführt wurde.
        Throws:
        SenderException - Fehler beim Senden.
        java.lang.RuntimeException - Kann bei Fehler geworfen werden.
      • source

        public static SimpleSender source(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                          de.bsvrz.dav.daf.main.config.SystemObject receiver,
                                          de.bsvrz.dav.daf.main.DataDescription dataDescription,
                                          de.bsvrz.dav.daf.main.Data data)
                                   throws SenderException
        Erzeugt einen Sender und sendet die Daten als Quelle.
        Parameters:
        dav - Verbindung zum Datenverteiler
        receiver - Empfänger der Daten
        dataDescription - DataDescription der zu versendenden Daten
        data - Daten, die versendet werden sollen
        Returns:
        Quelle
        Throws:
        SenderException - Fehler beim Senden.
      • sourceWait

        public static boolean sourceWait(de.bsvrz.dav.daf.main.ClientDavInterface dav,
                                         de.bsvrz.dav.daf.main.config.SystemObject receiver,
                                         de.bsvrz.dav.daf.main.DataDescription dataDescription,
                                         de.bsvrz.dav.daf.main.Data data,
                                         long timeout)
                                  throws SenderException
        Erzeugt einen Sender und sendet die Daten als einfache Quelle. Die Methode wartet solange, bis die Daten gesendet wurden, oder es zu einem Fehler kam.
        Parameters:
        dav - Verbindung zum Datenverteiler
        receiver - Empfänger der Daten
        dataDescription - DataDescription der zu versendenden Daten
        data - Daten, die versendet werden sollen
        timeout - Maximale Wartezeit in ms. Bei 0 unbegrenzt.
        Returns:
        False, falls die Daten wegen negativer Sendesteuerung nicht gesendet wurden.
        Throws:
        SenderException - Falls es beim Senden zu einem Fehler kommt.
        java.lang.RuntimeException - Kann bei Fehler geworfen werden.
      • dataRequest

        public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object,
                                de.bsvrz.dav.daf.main.DataDescription dataDescription,
                                byte state)
        Sendesteuerung. Callback Methode für den Datenverteiler. Wird der Versand von Daten erlaubt, so werden die Daten sofort abgesetzt. Danach meldet sich der Sender unverzüglich ab. Wird der Versand der Daten nicht erlaubt, so werden sie verworfen.
        Specified by:
        dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterface
        Parameters:
        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.
      • isRequestSupported

        public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object,
                                          de.bsvrz.dav.daf.main.DataDescription dataDescription)
        Sendesteuerung ist erwünscht. Wird vom Datenverteiler aufgerufen. Liefert deshalb immer true zurück.
        Specified by:
        isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterface
        Parameters:
        object - Das in der zugehörigen Sendeanmeldung angegebene System-Objekt.
        dataDescription - Die in der zugehörigen Sendeanmeldung angegebenen beschreibenden Informationen der angemeldeten Daten.
        Returns:
        true, falls Sendesteuerungen gewünscht sind, sonst false.
        See Also:
        ClientSenderInterface.isRequestSupported(SystemObject,DataDescription)