Package org.refcodes.io
Class LoopbackSenderImpl<DATA extends java.io.Serializable>
- java.lang.Object
-
- org.refcodes.component.AbstractConnectableAutomaton
-
- org.refcodes.io.AbstractSender<DATA>
-
- org.refcodes.io.LoopbackSenderImpl<DATA>
-
- 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 theLoopbackSenderinterface.
-
-
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
-
-
Constructor Summary
Constructors Constructor Description LoopbackSenderImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()booleanisOpenable(LoopbackReceiver<DATA> aLoopbackReceiver)voidopen(LoopbackReceiver<DATA> aLoopbackReceiver)voidwriteDatagram(DATA aDatagram)Writes (sends) a datagram to a listeningDatagramReceiver.voidwriteDatagrams(DATA[] aDatagrams)Writes (sends) a datagram block to a listeningDatagramReceiverorBlockReceiver.voidwriteDatagrams(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.ConnectionStatusAccessor
getConnectionStatus, isConnectionOpened
-
-
-
-
Method Detail
-
isOpenable
public boolean isOpenable(LoopbackReceiver<DATA> aLoopbackReceiver)
- Specified by:
isOpenablein interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<DATA extends java.io.Serializable>
-
open
public void open(LoopbackReceiver<DATA> aLoopbackReceiver) throws org.refcodes.component.OpenException
- Specified by:
openin interfaceorg.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 listeningDatagramReceiver.- Specified by:
writeDatagramin interfaceConsumer<DATA extends java.io.Serializable>- Specified by:
writeDatagramin interfaceDatagramConsumer<DATA extends java.io.Serializable>- Parameters:
aDatagram- The datagram to be pushed to the receivingDatagramConsumer.- 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:
writeDatagramsin interfaceBlockConsumer<DATA extends java.io.Serializable>- Specified by:
writeDatagramsin interfaceSender<DATA extends java.io.Serializable>- Parameters:
aDatagrams- the datagramaOffset- the offsetaLength- 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 listeningDatagramReceiverorBlockReceiver.- Specified by:
writeDatagramsin interfaceBlockConsumer<DATA extends java.io.Serializable>- Specified by:
writeDatagramsin interfaceConsumer<DATA extends java.io.Serializable>- Parameters:
aDatagrams- The datagram to be pushed to the receivingDatagramReceiverorBlockReceiver.- 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
-
close
public void close() throws org.refcodes.component.CloseException- Specified by:
closein interfaceorg.refcodes.component.Closable- Overrides:
closein classorg.refcodes.component.AbstractConnectableAutomaton- Throws:
org.refcodes.component.CloseException
-
-