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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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
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
- Specified by:
isOpenable
in interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesReceiver>
-
open
- Specified by:
open
in interfaceorg.refcodes.component.ConnectionOpenable<LoopbackBytesReceiver>
- Throws:
IOException
-
transmitByte
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
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
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
- Specified by:
flush
in interfaceByteTransmitter
- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Throws:
IOException
-
close
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classorg.refcodes.component.AbstractConnectableAutomaton
- Throws:
IOException
-