Class LoopbackBytesTransmitter

java.lang.Object
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.io.AbstractBytesTransmitter
org.refcodes.io.LoopbackBytesTransmitter
All Implemented Interfaces:
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<LoopbackBytesReceiver>, org.refcodes.component.ConnectionComponent.ConnectionAutomaton<LoopbackBytesReceiver>, org.refcodes.component.ConnectionOpenable<LoopbackBytesReceiver>, org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesReceiver>, org.refcodes.component.ConnectionStatusAccessor, org.refcodes.component.Flushable, org.refcodes.component.OpenedAccessor, ByteSource, BytesSource, BytesTransmitter, ByteTransmitter, ConnectionBytesTransmitter<LoopbackBytesReceiver>, Transmittable, org.refcodes.mixin.OutputStreamAccessor

public class LoopbackBytesTransmitter extends AbstractBytesTransmitter implements ConnectionBytesTransmitter<LoopbackBytesReceiver>
A LoopbackBytesTransmitter is a DatagramTransmitter connected directly within the same JVM with a LoopbackBytesReceiver; a "loopback" connection is used for establishing the connection which cannot be accessed outside the JVM or the running machine.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.io.BytesTransmitter

    BytesTransmitter.TransmitterOutputStream

    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 Object>, org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON extends 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 Object>, org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON extends 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

    Nested classes/interfaces inherited from interface org.refcodes.mixin.OutputStreamAccessor

    org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<B extends org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<?>>, org.refcodes.mixin.OutputStreamAccessor.OutputStreamMutator, org.refcodes.mixin.OutputStreamAccessor.OutputStreamProperty
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    void
    boolean
    isOpenable(LoopbackBytesReceiver aLoopbackReceiver)
    void
    open(LoopbackBytesReceiver aLoopbackReceiver)
    void
    transmitAllBytes(byte[] aBytes)
    Writes (sends) a byte block.
    void
    transmitByte(byte aByte)
    Writes (sends) a byte.
    void
    transmitBytes(byte[] aBytes, int aOffset, int aLength)
    Writes (sends) a byte block.

    Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton

    getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.refcodes.io.BytesTransmitter

    getOutputStream

    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, isOpened

    Methods inherited from interface org.refcodes.component.Flushable

    flushUnchecked, isFlushable
  • Constructor Details

    • LoopbackBytesTransmitter

      public LoopbackBytesTransmitter()
  • Method Details

    • isOpenable

      public boolean isOpenable(LoopbackBytesReceiver aLoopbackReceiver)
      Specified by:
      isOpenable in interface org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesReceiver>
    • open

      public void open(LoopbackBytesReceiver aLoopbackReceiver) throws IOException
      Specified by:
      open in interface org.refcodes.component.ConnectionOpenable<LoopbackBytesReceiver>
      Throws:
      IOException
    • transmitByte

      public void transmitByte(byte aByte) throws IOException
      Writes (sends) a byte.
      Specified by:
      transmitByte in interface ByteSource
      Specified by:
      transmitByte in interface BytesSource
      Parameters:
      aByte - The byte to be pushed.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • transmitBytes

      public void transmitBytes(byte[] aBytes, int aOffset, int aLength) throws IOException
      Writes (sends) a byte block.
      Specified by:
      transmitBytes in interface BytesSource
      Specified by:
      transmitBytes in interface BytesTransmitter
      Overrides:
      transmitBytes in class AbstractBytesTransmitter
      Parameters:
      aBytes - The byte to be pushed.
      aOffset - The offset from which to take the data.
      aLength - The number of elements to push starting at the given offset.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • transmitAllBytes

      public void transmitAllBytes(byte[] aBytes) throws IOException
      Writes (sends) a byte block.
      Specified by:
      transmitAllBytes in interface BytesSource
      Parameters:
      aBytes - The byte to be pushed.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • flush

      public void flush() throws IOException
      Specified by:
      flush in interface ByteTransmitter
      Specified by:
      flush in interface Flushable
      Specified by:
      flush in interface org.refcodes.component.Flushable
      Throws:
      IOException
    • close

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