Class ShortReceiverDecorator

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.refcodes.component.Closable

        org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
      • Nested classes/interfaces inherited from interface org.refcodes.component.ClosedAccessor

        org.refcodes.component.ClosedAccessor.ClosedMutator, org.refcodes.component.ClosedAccessor.ClosedProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.ConnectableComponent

        org.refcodes.component.ConnectableComponent.ConnectableAutomaton
      • Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionStatusAccessor

        org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.OpenedAccessor

        org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      boolean hasDatagram()
      Determines whether a datagram is available from a DatagramSender.
      short readDatagram()
      Reads (receives) the next short passed from a DatagramSender counterpart.
      short[] readDatagrams()
      Caution: Reads till an OpenException (or an InterruptedException in case of blocking till more data is available) occurs.
      short[] readDatagrams​(int aBlockSize)
      Similar to ShortBlockProvider.readDatagrams() though at maximum the amount of data as provided by the block-size is returned.
      • Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton

        getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus
      • Methods inherited from interface org.refcodes.component.Closable

        closeIn, closeQuietly, closeUnchecked
      • Methods inherited from interface org.refcodes.component.Closable.CloseAutomaton

        isClosable
      • Methods inherited from interface org.refcodes.component.ClosedAccessor

        isClosed
      • Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor

        getConnectionStatus, isConnectionOpened
      • Methods inherited from interface org.refcodes.mixin.Loggable

        alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.refcodes.component.OpenedAccessor

        isOpened
      • Methods inherited from interface org.refcodes.mixin.Releaseable

        releaseAll
    • Constructor Detail

      • ShortReceiverDecorator

        public ShortReceiverDecorator​(ShortProvider aShortProvider)
        Instantiates a new short receiver decorator.
        Parameters:
        aShortProvider - the short provider
    • Method Detail

      • readDatagram

        public short readDatagram()
                           throws org.refcodes.component.OpenException,
                                  java.lang.InterruptedException
        Reads (receives) the next short passed from a DatagramSender counterpart. In case none short is available, then this method blocks until one is available. To prevent blocking, use the ShortDatagramReceiver extension's Receivable.hasDatagram() method to test beforehand whether a byte is available (in a multi-threaded usage scenario, Receivable.hasDatagram() is not a reliable indicator whether this method will block or not). When a Thread is waiting for a short to be read and Thread.interrupt() is being called, then the operation is aborted and an InterruptedException is thrown.
        Specified by:
        readDatagram in interface ShortDatagramProvider
        Overrides:
        readDatagram in class AbstractShortReceiver
        Returns:
        The next short sent from the ShortDatagramSender counterpart.
        Throws:
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
        java.lang.InterruptedException - Thrown when a Thread is waiting, sleeping, or otherwise occupied, and the Thread is interrupted, either before or during the activity.
      • hasDatagram

        public boolean hasDatagram()
                            throws org.refcodes.component.OpenException
        Determines whether a datagram is available from a DatagramSender. Use the DatagramProvider extenison's DatagramProvider.readDatagram() method for retrieving the available datagram.
        Specified by:
        hasDatagram in interface Receivable
        Overrides:
        hasDatagram in class AbstractShortReceiver
        Returns:
        True in case there is a datagram ready to be retrieved .
        Throws:
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
      • readDatagrams

        public short[] readDatagrams()
                              throws org.refcodes.component.OpenException,
                                     java.lang.InterruptedException
        Caution: Reads till an OpenException (or an InterruptedException in case of blocking till more data is available) occurs. Reads (receives) the next short block passed from a BlockSender or DatagramSender counterpart. In case none short block is available, then this method blocks until one is available. When a Thread is waiting for a short to be read and Thread.interrupt() is being called, then the operation is aborted and an InterruptedException is thrown.
        Specified by:
        readDatagrams in interface ShortBlockProvider
        Specified by:
        readDatagrams in interface ShortProvider
        Specified by:
        readDatagrams in interface ShortReceiver
        Overrides:
        readDatagrams in class AbstractShortReceiver
        Returns:
        The next short block sent from the BlockSender or DatagramReceiver counterpart.
        Throws:
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
        java.lang.InterruptedException - Thrown when a Thread is waiting, sleeping, or otherwise occupied, and the Thread is interrupted, either before or during the activity.
      • readDatagrams

        public short[] readDatagrams​(int aBlockSize)
                              throws org.refcodes.component.OpenException,
                                     java.lang.InterruptedException
        Similar to ShortBlockProvider.readDatagrams() though at maximum the amount of data as provided by the block-size is returned.
        Specified by:
        readDatagrams in interface ShortBlockProvider
        Specified by:
        readDatagrams in interface ShortProvider
        Specified by:
        readDatagrams in interface ShortReceiver
        Overrides:
        readDatagrams in class AbstractShortReceiver
        Parameters:
        aBlockSize - The block-size which is not to exceeded by the returned data. A value of -1 specifies to retrieve all available datagrams (same behavior as method ShortBlockProvider.readDatagrams().
        Returns:
        The next short block sent from the BlockSender or DatagramReceiver counterpart.
        Throws:
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
        java.lang.InterruptedException - Thrown when a Thread is waiting, sleeping, or otherwise occupied, and the Thread is interrupted, either before or during the activity.
      • close

        public void close()
                   throws org.refcodes.component.CloseException
        Specified by:
        close in interface org.refcodes.component.Closable
        Overrides:
        close in class AbstractShortReceiver
        Throws:
        org.refcodes.component.CloseException