Class LoopbackSenderImpl<DATA extends java.io.Serializable>

  • Type Parameters:
    DATA - The type of the datagram to be operated with.
    All Implemented Interfaces:
    java.io.Flushable, org.refcodes.component.Closable, org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.ClosedAccessor, org.refcodes.component.ConnectableComponent, org.refcodes.component.ConnectableComponent.ConnectableAutomaton, org.refcodes.component.ConnectionComponent<DATA>, org.refcodes.component.ConnectionComponent.ConnectionAutomaton<DATA>, org.refcodes.component.ConnectionOpenable<DATA>, org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<DATA>, org.refcodes.component.ConnectionStatusAccessor, org.refcodes.component.Flushable, org.refcodes.component.OpenedAccessor, BlockConsumer<DATA>, BlockSender<DATA>, ConnectionSender<DATA,LoopbackReceiver<DATA>>, Consumer<DATA>, DatagramConsumer<DATA>, DatagramSender<DATA>, LoopbackSender<DATA>, Sendable, Sender<DATA>


    public class LoopbackSenderImpl<DATA extends java.io.Serializable>
    extends AbstractSender<DATA>
    implements LoopbackSender<DATA>
    Implementation of the LoopbackSender interface.
    • 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.ConnectionComponent

        org.refcodes.component.ConnectionComponent.ConnectionAutomaton<CON extends java.lang.Object>, org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON extends java.lang.Object,B extends org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON,B>>
      • Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionOpenable

        org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<CON extends java.lang.Object>, org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON extends java.lang.Object,B extends org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON,B>>
      • 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.Flushable

        org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
      • 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​()
      void flush​()
      boolean isOpenable​(LoopbackReceiver<DATA> aLoopbackReceiver)
      void open​(LoopbackReceiver<DATA> aLoopbackReceiver)
      void writeDatagram​(DATA aDatagram)
      Writes (sends) a datagram to a listening DatagramReceiver.
      void writeDatagrams​(DATA[] aDatagrams)
      Writes (sends) a datagram block to a listening DatagramReceiver or BlockReceiver.
      void writeDatagrams​(DATA[] aDatagrams, int aOffset, int aLength)
      Write datagrams.
      • 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.ConnectionOpenable

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

        getConnectionStatus, isConnectionOpened
      • Methods inherited from interface org.refcodes.component.Flushable

        flushUnchecked, isFlushable
      • 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
    • Constructor Detail

      • LoopbackSenderImpl

        public LoopbackSenderImpl​()
    • Method Detail

      • isOpenable

        public boolean isOpenable​(LoopbackReceiver<DATA> aLoopbackReceiver)
        Specified by:
        isOpenable in interface org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<DATA extends java.io.Serializable>
      • open

        public void open​(LoopbackReceiver<DATA> aLoopbackReceiver)
                  throws org.refcodes.component.OpenException
        Specified by:
        open in interface org.refcodes.component.ConnectionOpenable<DATA extends java.io.Serializable>
        Throws:
        org.refcodes.component.OpenException
      • writeDatagram

        public void writeDatagram​(DATA aDatagram)
                           throws org.refcodes.component.OpenException
        Writes (sends) a datagram to a listening DatagramReceiver.
        Specified by:
        writeDatagram in interface Consumer<DATA extends java.io.Serializable>
        Specified by:
        writeDatagram in interface DatagramConsumer<DATA extends java.io.Serializable>
        Parameters:
        aDatagram - The datagram to be pushed to the receiving DatagramConsumer.
        Throws:
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
      • writeDatagrams

        public void writeDatagrams​(DATA[] aDatagrams,
                                   int aOffset,
                                   int aLength)
                            throws org.refcodes.component.OpenException
        Write datagrams.
        Specified by:
        writeDatagrams in interface BlockConsumer<DATA extends java.io.Serializable>
        Specified by:
        writeDatagrams in interface Sender<DATA extends java.io.Serializable>
        Parameters:
        aDatagrams - the datagram
        aOffset - the offset
        aLength - the length
        Throws:
        org.refcodes.component.OpenException - the open exception
      • writeDatagrams

        public void writeDatagrams​(DATA[] aDatagrams)
                            throws org.refcodes.component.OpenException
        Writes (sends) a datagram block to a listening DatagramReceiver or BlockReceiver.
        Specified by:
        writeDatagrams in interface BlockConsumer<DATA extends java.io.Serializable>
        Specified by:
        writeDatagrams in interface Consumer<DATA extends java.io.Serializable>
        Parameters:
        aDatagrams - The datagram to be pushed to the receiving DatagramReceiver or BlockReceiver.
        Throws:
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
      • flush

        public void flush​()
                   throws org.refcodes.component.OpenException
        Specified by:
        flush in interface java.io.Flushable
        Specified by:
        flush in interface org.refcodes.component.Flushable
        Specified by:
        flush in interface Sender<DATA extends java.io.Serializable>
        Throws:
        org.refcodes.component.OpenException
      • close

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