public class LoopbackByteTransceiverImpl extends AbstractByteReceiver implements LoopbackByteTransceiver
LoopbackByteTransceiver
interface.AbstractByteReceiver.ConnectableAutomaton
org.refcodes.component.ConnectableComponent.ConnectableAutomaton
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
org.refcodes.component.ClosedAccessor.ClosedMutator, org.refcodes.component.ClosedAccessor.ClosedProperty
org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusProperty
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
org.refcodes.component.ConnectionComponent.ConnectionAutomaton<CON>, org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON,B extends org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON,B>>
org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<CON>, org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON,B extends org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON,B>>
_automaton
_datagramQueue, DATAGRAM_QUEUE_SIZE
Constructor and Description |
---|
LoopbackByteTransceiverImpl()
Instantiates a new loopback byte transceiver impl.
|
LoopbackByteTransceiverImpl(int aCapacity)
Instantiates a new loopback byte transceiver impl.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
flush()
Flush.
|
boolean |
isOpenable(LoopbackByteTransceiver aLoopbackTransceiver) |
void |
open(LoopbackByteTransceiver aLoopbackTransceiver) |
void |
pushDatagram(byte aDatagram)
Pushes a datagram into the receiver and puts it into the blocking queue
containing the so far received datagrams.
|
void |
writeDatagram(byte aDatagram)
Write datagram.
|
getConnectionStatus, hasDatagram, isClosable, isClosed, isOpenable, isOpened, open, readDatagram, readDatagrams, readDatagrams, releaseAll, setConnectionStatus
pushDatagrams, pushDatagrams
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
readDatagrams, readDatagrams
readDatagram
hasDatagram
writeDatagrams
writeDatagrams
public LoopbackByteTransceiverImpl()
public LoopbackByteTransceiverImpl(int aCapacity)
aCapacity
- the a capacitypublic boolean isOpenable(LoopbackByteTransceiver aLoopbackTransceiver)
isOpenable
in interface org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackByteTransceiver>
public void open(LoopbackByteTransceiver aLoopbackTransceiver) throws org.refcodes.component.OpenException
open
in interface org.refcodes.component.ConnectionOpenable<LoopbackByteTransceiver>
org.refcodes.component.OpenException
public void writeDatagram(byte aDatagram) throws org.refcodes.component.OpenException
ByteConsumer
writeDatagram
in interface ByteConsumer
writeDatagram
in interface ByteDatagramConsumer
aDatagram
- the a datagramorg.refcodes.component.OpenException
- the open exceptionpublic void pushDatagram(byte aDatagram) throws org.refcodes.component.OpenException
AbstractByteProvider
AbstractByteProvider.readDatagram()
:
Use AbstractByteReceiver
extension's
AbstractByteReceiver.hasDatagram()
to test beforehand whether
there is a datagram available.pushDatagram
in interface LoopbackByteTransceiver
pushDatagram
in class AbstractByteProvider
aDatagram
- The datagram to be pushed at the end of the blocking
queue; to be retrieved with the AbstractByteProvider.readDatagram()
method.org.refcodes.component.OpenException
- the open exceptionpublic void flush() throws org.refcodes.component.OpenException
ByteSender
flush
in interface Flushable
flush
in interface ByteSender
org.refcodes.component.OpenException
- the open exceptionpublic void close() throws org.refcodes.component.CloseException
close
in interface org.refcodes.component.Closable
close
in class AbstractByteReceiver
org.refcodes.component.CloseException
Copyright © 2017. All rights reserved.