- 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>
ALoopbackBytesTransmitter
is aDatagramTransmitter
connected directly within the same JVM with aLoopbackBytesReceiver
; 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 LoopbackBytesTransmitter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
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
-
-
-
-
Method Detail
-
isOpenable
public boolean isOpenable(LoopbackBytesReceiver aLoopbackReceiver)
- Specified by:
isOpenable
in interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesReceiver>
-
open
public void open(LoopbackBytesReceiver aLoopbackReceiver) throws IOException
- Specified by:
open
in interfaceorg.refcodes.component.ConnectionOpenable<LoopbackBytesReceiver>
- Throws:
IOException
-
transmitByte
public void transmitByte(byte aByte) throws IOException
Writes (sends) a byte.- Specified by:
transmitByte
in interfaceByteSource
- Specified by:
transmitByte
in interfaceBytesSource
- 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 interfaceBytesSource
- Specified by:
transmitBytes
in interfaceBytesTransmitter
- Overrides:
transmitBytes
in classAbstractBytesTransmitter
- 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 interfaceBytesSource
- 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 interfaceByteTransmitter
- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classorg.refcodes.component.AbstractConnectableAutomaton
- Throws:
IOException
-
-