Class AbstractPrefetchInputStreamReceiver<DATA extends Serializable>

java.lang.Object
org.refcodes.component.AbstractConnectable
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.io.AbstractDatagramsReceiver<DATA>
org.refcodes.io.AbstractPrefetchInputStreamReceiver<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.ConnectionStatusAccessor, org.refcodes.component.OpenedAccessor, Availability, DatagramDestination<DATA>, DatagramReceiver<DATA>, DatagramsDestination<DATA>, DatagramsReceiver<DATA>, Receivable
Direct Known Subclasses:
PrefetchBidirectionalStreamConnectionTransceiver, PrefetchInputStreamConnectionReceiver

public abstract class AbstractPrefetchInputStreamReceiver<DATA extends Serializable> extends AbstractDatagramsReceiver<DATA>
Abstract implementation of the DatagramsReceiver interface. As of the prefetching functionality, a separate daemon thread (retrieved via an ExecutorService) reads from the provided InputStream and places the datagrams into a datagram queue until the datagram queue's capacity is reached. If the queue is empty, then the AbstractDatagramsReceiver.receive() ( AbstractDatagramsReceiver.receiveAll()) method is blocked until the daemon thread places new datagrams into the queue. See also AbstractDatagramsReceiver.
  • 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.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

    Constructors
    Constructor
    Description
    Creates an AbstractPrefetchInputStreamReceiver using the given datagram queue capacity.
    AbstractPrefetchInputStreamReceiver(int aQueueCapacity, ExecutorService aExecutorService)
    Creates an AbstractPrefetchInputStreamReceiver using the given ExecutorService required for thread generation in an JEE environment.
    Creates an AbstractPrefetchInputStreamReceiver using the given ExecutorService required for thread generation in an JEE environment.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    protected boolean
    isOpenable(InputStream aInputStream)
    Checks if is openable.
    protected void
    open(InputStream aInputStream)
    Open, see also ConnectionOpenable.open(Object).

    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

    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.ConnectionStatusAccessor

    getConnectionStatus, isOpened

    Methods inherited from interface org.refcodes.io.DatagramsDestination

    receive

    Methods inherited from interface org.refcodes.io.DatagramsReceiver

    receive