Module org.refcodes.io
Package org.refcodes.io
Class LoopbackDatagramsReceiver<DATA extends Serializable>
java.lang.Object
org.refcodes.component.AbstractConnectable
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.io.AbstractDatagramsReceiver<DATA>
org.refcodes.io.LoopbackDatagramsReceiver<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<LoopbackDatagramsTransmitter<DATA>>
,org.refcodes.component.ConnectionComponent.ConnectionAutomaton<LoopbackDatagramsTransmitter<DATA>>
,org.refcodes.component.ConnectionOpenable<LoopbackDatagramsTransmitter<DATA>>
,org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackDatagramsTransmitter<DATA>>
,org.refcodes.component.ConnectionStatusAccessor
,org.refcodes.component.OpenedAccessor
,Availability
,ConnectionDatagramsReceiver<DATA,
,LoopbackDatagramsTransmitter<DATA>> DatagramDestination<DATA>
,DatagramReceiver<DATA>
,DatagramsDestination<DATA>
,DatagramsReceiver<DATA>
,Receivable
public class LoopbackDatagramsReceiver<DATA extends Serializable>
extends AbstractDatagramsReceiver<DATA>
implements ConnectionDatagramsReceiver<DATA,LoopbackDatagramsTransmitter<DATA>>
A
LoopbackDatagramsReceiver
is a DatagramReceiver
connected
directly within the same JVM with a LoopbackDatagramsTransmitter
; 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.OpenedAccessor
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
-
Field Summary
Fields inherited from class org.refcodes.io.AbstractDatagramsReceiver
DATAGRAM_QUEUE_SIZE
-
Constructor Summary
ConstructorDescriptionInstantiates a new loopback receiver impl.LoopbackDatagramsReceiver
(int aCapacity) Instantiates a new loopback receiver impl. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
boolean
isOpenable
(LoopbackDatagramsTransmitter<DATA> aLoopbackSender) void
open
(LoopbackDatagramsTransmitter<DATA> aLoopbackSender) void
pushDatagram
(DATA aDatagram) Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams.void
pushDatagrams
(DATA[] aDatagrams) Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams.void
pushDatagrams
(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.io.AbstractDatagramsReceiver
available, receive, receiveAll
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.io.Availability
available, hasAvailable
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.io.DatagramsDestination
receive, receive
Methods inherited from interface org.refcodes.io.DatagramsReceiver
receive, receiveAll
-
Constructor Details
-
LoopbackDatagramsReceiver
public LoopbackDatagramsReceiver()Instantiates a new loopback receiver impl. -
LoopbackDatagramsReceiver
public LoopbackDatagramsReceiver(int aCapacity) Instantiates a new loopback receiver impl.- Parameters:
aCapacity
- the capacity
-
-
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
-
pushDatagram
Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractDatagramsReceiver.receive()
: useAbstractDatagramsReceiver.available()
to test beforehand whether there is a datagram available.- Overrides:
pushDatagram
in classAbstractDatagramsReceiver<DATA extends Serializable>
- Parameters:
aDatagram
- The datagram to be pushed at the end of the blocking queue; to be retrieved with theAbstractDatagramsReceiver.receive()
method.- Throws:
IOException
- the open exception
-
pushDatagrams
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractDatagramsReceiver.receive()
: useAbstractDatagramsReceiver.available()
to test beforehand whether there is a datagram available.- Overrides:
pushDatagrams
in classAbstractDatagramsReceiver<DATA extends Serializable>
- Parameters:
aDatagrams
- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractDatagramsReceiver.receive()
method.- Throws:
IOException
- the open exception
-
pushDatagrams
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractDatagramsReceiver.receive()
: useAbstractDatagramsReceiver.available()
to test beforehand whether there is a datagram available.- Overrides:
pushDatagrams
in classAbstractDatagramsReceiver<DATA extends Serializable>
- Parameters:
aDatagrams
- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractDatagramsReceiver.receive()
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:
IOException
- the open exception
-
close
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classAbstractDatagramsReceiver<DATA extends Serializable>
- Throws:
IOException
-