Module org.refcodes.io
Package org.refcodes.io
Class LoopbackDatagramsTransmitter<DATA extends Serializable>
java.lang.Object
org.refcodes.component.AbstractConnectable
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.io.AbstractDatagramsTransmitter<DATA>
org.refcodes.io.LoopbackDatagramsTransmitter<DATA>
- Type Parameters:
DATA
- The type of the datagram to be operated with.
- 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<LoopbackDatagramsReceiver<DATA>>
,org.refcodes.component.ConnectionComponent.ConnectionAutomaton<LoopbackDatagramsReceiver<DATA>>
,org.refcodes.component.ConnectionOpenable<LoopbackDatagramsReceiver<DATA>>
,org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackDatagramsReceiver<DATA>>
,org.refcodes.component.ConnectionStatusAccessor
,org.refcodes.component.Flushable
,org.refcodes.component.OpenedAccessor
,ConnectionDatagramsTransmitter<DATA,
,LoopbackDatagramsReceiver<DATA>> DatagramSource<DATA>
,DatagramsSource<DATA>
,DatagramsTransmitter<DATA>
,DatagramTransmitter<DATA>
,Transmittable
public class LoopbackDatagramsTransmitter<DATA extends Serializable>
extends AbstractDatagramsTransmitter<DATA>
implements ConnectionDatagramsTransmitter<DATA,LoopbackDatagramsReceiver<DATA>>
A
LoopbackDatagramsTransmitter
is a DatagramTransmitter
connected directly within the same JVM with a
LoopbackDatagramsReceiver
; 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.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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
flush()
boolean
isOpenable
(LoopbackDatagramsReceiver<DATA> aLoopbackReceiver) void
open
(LoopbackDatagramsReceiver<DATA> aLoopbackReceiver) void
Writes (sends) a datagram to a listeningDatagramReceiver
.void
Write datagrams.void
transmitAll
(DATA[] aDatagrams) Writes (sends) a datagram block to a listeningDatagramReceiver
orDatagramsReceiver
.Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton
getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus
Methods inherited from class org.refcodes.component.AbstractConnectable
isThrownAsOfAlreadyClosed
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.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
-
LoopbackDatagramsTransmitter
public LoopbackDatagramsTransmitter()
-
-
Method Details
-
isOpenable
- Specified by:
isOpenable
in interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<DATA extends Serializable>
-
open
- Specified by:
open
in interfaceorg.refcodes.component.ConnectionOpenable<DATA extends Serializable>
- Throws:
IOException
-
transmit
Writes (sends) a datagram to a listeningDatagramReceiver
.- Specified by:
transmit
in interfaceDatagramSource<DATA extends Serializable>
- Specified by:
transmit
in interfaceDatagramsSource<DATA extends Serializable>
- Parameters:
aDatagram
- The datagram to be pushed to the receivingDatagramSource
.- Throws:
IOException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
transmit
Write datagrams.- Specified by:
transmit
in interfaceDatagramsSource<DATA extends Serializable>
- Specified by:
transmit
in interfaceDatagramsTransmitter<DATA extends Serializable>
- Parameters:
aDatagrams
- the datagramaOffset
- the offsetaLength
- the length- Throws:
IOException
- the open exception
-
transmitAll
Writes (sends) a datagram block to a listeningDatagramReceiver
orDatagramsReceiver
.- Specified by:
transmitAll
in interfaceDatagramsSource<DATA extends Serializable>
- Parameters:
aDatagrams
- The datagram to be pushed to the receivingDatagramReceiver
orDatagramsReceiver
.- Throws:
IOException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
flush
- Specified by:
flush
in interfaceDatagramTransmitter<DATA extends Serializable>
- 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
-