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

Class SimpleSender

    • Field Detail

      • data

        private Data data
      • debug

        private static final Debug debug
      • 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.

    • Constructor Detail

      • SimpleSender

        private SimpleSender()

        Initialisiert das Lock-Objekt.

      • SimpleSender

        private SimpleSender(ClientDavInterface dav,
                             SystemObject receiver,
                             DataDescription dataDescription,
                             Data data,
                             boolean source)
                      throws SenderException

        Erzeugt den Sender und sendet die Daten.

        Parameters:
        dav - Verbindung zum Datenverteiler
        receiver - Empfänger der Daten
        dataDescription - DataDescription der zu versendenden Daten
        data - Daten, die versendet werden sollen
        source - True wenn die Daten als Quelle versendet werden sollen. Ist source == false meldet sich SimpleSender als einfacher Sender an.
        Throws:
        SenderException - Falls es bei der Sendeanmeldung zu einem Fehler kommt.
    • Method Detail

      • sendWait

        public static boolean sendWait(ClientDavInterface dav,
                                       SystemObject receiver,
                                       DataDescription dataDescription,
                                       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(ClientDavInterface dav,
                                          SystemObject receiver,
                                          DataDescription dataDescription,
                                          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(ClientDavInterface dav,
                                         SystemObject receiver,
                                         DataDescription dataDescription,
                                         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.
      • init

        private void init(ClientDavInterface dav,
                          SystemObject receiver,
                          DataDescription dataDescription,
                          Data data,
                          boolean source)
                   throws SenderException

        Objektinitialisierung.

        Parameters:
        dav - Verbindung zum Datenverteiler
        receiver - Empfänger der Daten
        dataDescription - DataDescription der zu versendenden Daten
        data - Daten, die versendet werden sollen
        source - True wenn die Daten als Quelle versendet werden sollen. Ist source == false meldet sich SimpleSender als einfacher Sender an.
        Throws:
        SenderException - Falls es bei der Sendeanmeldung zu einem Fehler kommt.
      • send

        private static boolean send(ClientDavInterface dav,
                                    SystemObject receiver,
                                    DataDescription dataDescription,
                                    Data data,
                                    boolean source,
                                    long timeout)
                             throws SenderException

        Erzeugt einen Sender und sendet die Daten. Die Methode wartet solange, bis die Daten gesendet wurden, oder es zu einem Fehler kam. Kann RuntimException werfen!

        Parameters:
        dav - Verbindung zum Datenverteiler
        receiver - Empfänger der Daten
        dataDescription - DataDescription der zu versendenden Daten
        data - Daten, die versendet werden sollen
        source - True wenn als Quelle gesendet werden soll. False, wenn als einfacher Sender gesendet werden soll.
        timeout - Maximale Wartezeit in ms. Bei 0 unbegrenzt.
        Returns:
        true falls das Senden erfolgreich durchgeführt wurde.
        Throws:
        SenderException - Falls es während des Sendens zu einem Fehler kam.
        java.lang.RuntimeException - Kann bei Fehler geworfen werden.