Package org.refcodes.io
Class LoopbackReceiverImpl<DATA extends java.io.Serializable>
- java.lang.Object
-
- org.refcodes.component.AbstractConnectableAutomaton
-
- org.refcodes.io.AbstractReceiver<DATA>
-
- org.refcodes.io.LoopbackReceiverImpl<DATA>
-
- Type Parameters:
DATA- The type of the datagram to be operated with.
- All Implemented Interfaces:
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.OpenedAccessor,BlockProvider<DATA>,BlockReceiver<DATA>,ConnectionReceiver<DATA,LoopbackSender<DATA>>,DatagramProvider<DATA>,DatagramReceiver<DATA>,LoopbackReceiver<DATA>,Provider<DATA>,Receivable,Receiver<DATA>,org.refcodes.mixin.Releaseable
public class LoopbackReceiverImpl<DATA extends java.io.Serializable> extends AbstractReceiver<DATA> implements LoopbackReceiver<DATA>
Implementation of theLoopbackReceiverinterface.
-
-
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>>
-
-
Field Summary
-
Fields inherited from class org.refcodes.io.AbstractReceiver
DATAGRAM_QUEUE_SIZE
-
-
Constructor Summary
Constructors Constructor Description LoopbackReceiverImpl()Instantiates a new loopback receiver impl.LoopbackReceiverImpl(int aCapacity)Instantiates a new loopback receiver impl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleanisOpenable(LoopbackSender<DATA> aLoopbackSender)voidopen(LoopbackSender<DATA> aLoopbackSender)voidpushDatagram(DATA aDatagram)Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams.voidpushDatagrams(DATA[] aDatagrams)Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams.voidpushDatagrams(DATA[] aDatagrams, int aOffset, int aLength)Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams.-
Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton
getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus
-
Methods inherited from class org.refcodes.io.AbstractReceiver
hasDatagram, readDatagram, readDatagrams, releaseAll
-
Methods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUnchecked
-
Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isConnectionOpened
-
Methods inherited from interface org.refcodes.io.DatagramProvider
readDatagram
-
Methods inherited from interface org.refcodes.mixin.Loggable
alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warn
-
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.Receivable
hasDatagram
-
Methods inherited from interface org.refcodes.io.Receiver
readDatagrams, readDatagrams
-
-
-
-
Method Detail
-
isOpenable
public boolean isOpenable(LoopbackSender<DATA> aLoopbackSender)
- Specified by:
isOpenablein interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<DATA extends java.io.Serializable>
-
open
public void open(LoopbackSender<DATA> aLoopbackSender) throws org.refcodes.component.OpenException
- Specified by:
openin interfaceorg.refcodes.component.ConnectionOpenable<DATA extends java.io.Serializable>- Throws:
org.refcodes.component.OpenException
-
pushDatagram
public void pushDatagram(DATA aDatagram) throws org.refcodes.component.OpenException
Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractReceiver.readDatagram(): useAbstractReceiver.hasDatagram()to test beforehand whether there is a datagram available.- Specified by:
pushDatagramin interfaceLoopbackReceiver<DATA extends java.io.Serializable>- Overrides:
pushDatagramin classAbstractReceiver<DATA extends java.io.Serializable>- Parameters:
aDatagram- The datagram to be pushed at the end of the blocking queue; to be retrieved with theAbstractReceiver.readDatagram()method.- Throws:
org.refcodes.component.OpenException- the open exception
-
pushDatagrams
public void pushDatagrams(DATA[] aDatagrams) throws org.refcodes.component.OpenException
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractReceiver.readDatagram(): useAbstractReceiver.hasDatagram()to test beforehand whether there is a datagram available.- Specified by:
pushDatagramsin interfaceLoopbackReceiver<DATA extends java.io.Serializable>- Overrides:
pushDatagramsin classAbstractReceiver<DATA extends java.io.Serializable>- Parameters:
aDatagrams- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractReceiver.readDatagram()method.- Throws:
org.refcodes.component.OpenException- the open exception
-
pushDatagrams
public void pushDatagrams(DATA[] aDatagrams, int aOffset, int aLength) throws org.refcodes.component.OpenException
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractReceiver.readDatagram(): useAbstractReceiver.hasDatagram()to test beforehand whether there is a datagram available.- Specified by:
pushDatagramsin interfaceLoopbackReceiver<DATA extends java.io.Serializable>- Overrides:
pushDatagramsin classAbstractReceiver<DATA extends java.io.Serializable>- Parameters:
aDatagrams- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractReceiver.readDatagram()method.aOffset- The offset to start taking data from to be pushed.aLength- The number of elements to be pushed from the offset onwards.- Throws:
org.refcodes.component.OpenException- the open exception
-
close
public void close() throws org.refcodes.component.CloseException- Specified by:
closein interfaceorg.refcodes.component.Closable- Overrides:
closein classAbstractReceiver<DATA extends java.io.Serializable>- Throws:
org.refcodes.component.CloseException
-
-