com.sun.grizzly.async
Class AbstractAsyncQueueReader

java.lang.Object
  extended by com.sun.grizzly.async.AbstractAsyncQueueReader
All Implemented Interfaces:
AsyncQueueReader
Direct Known Subclasses:
TCPAsyncQueueReader, UDPAsyncQueueReader

public abstract class AbstractAsyncQueueReader
extends Object
implements AsyncQueueReader

Author:
oleksiys

Field Summary
protected  SelectorHandler selectorHandler
           
 
Constructor Summary
AbstractAsyncQueueReader(SelectorHandler selectorHandler)
           
 
Method Summary
 void close()
          Close AsyncQueueReader and release its resources
protected abstract  OperationResult doRead(ReadableByteChannel channel, ByteBuffer byteBuffer, AsyncQueueDataProcessor readPostProcessor, OperationResult dstResult)
           
 AsyncQueue.AsyncQueueEntry getAsyncQueue(SelectionKey key)
          Gets ready asynchronous queue elements to be read from the SelectableChannel, associated with the given SelectionKey
 boolean isReady(SelectionKey key)
          Checks whether AsyncQueueReader is registered for the SelectableChannel, associated with the given SelectionKey
 void onClose(SelectableChannel channel)
          Callback method, which should be called by SelectorHandler to notify, that given SelectableChannel is going to be closed, so related data could be released from AsyncQueueReader
 void onRead(SelectionKey key)
          Callback method, which should be called by SelectorHandler to notify, that SelectableChannel, associated with the given SelectableChannel has ready data for reading.
 Future<AsyncQueueReadUnit> read(SelectionKey key, ByteBuffer buffer, AsyncReadCallbackHandler callbackHandler)
           
 Future<AsyncQueueReadUnit> read(SelectionKey key, ByteBuffer buffer, AsyncReadCallbackHandler callbackHandler, AsyncReadCondition condition)
           
 Future<AsyncQueueReadUnit> read(SelectionKey key, ByteBuffer buffer, AsyncReadCallbackHandler callbackHandler, AsyncReadCondition condition, AsyncQueueDataProcessor readPostProcessor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

selectorHandler

protected final SelectorHandler selectorHandler
Constructor Detail

AbstractAsyncQueueReader

public AbstractAsyncQueueReader(SelectorHandler selectorHandler)
Method Detail

read

public Future<AsyncQueueReadUnit> read(SelectionKey key,
                                       ByteBuffer buffer,
                                       AsyncReadCallbackHandler callbackHandler)
                                throws IOException
Specified by:
read in interface AsyncQueueReader
Throws:
IOException

read

public Future<AsyncQueueReadUnit> read(SelectionKey key,
                                       ByteBuffer buffer,
                                       AsyncReadCallbackHandler callbackHandler,
                                       AsyncReadCondition condition)
                                throws IOException
Specified by:
read in interface AsyncQueueReader
Throws:
IOException

read

public Future<AsyncQueueReadUnit> read(SelectionKey key,
                                       ByteBuffer buffer,
                                       AsyncReadCallbackHandler callbackHandler,
                                       AsyncReadCondition condition,
                                       AsyncQueueDataProcessor readPostProcessor)
                                throws IOException
Specified by:
read in interface AsyncQueueReader
Throws:
IOException

isReady

public boolean isReady(SelectionKey key)
Description copied from interface: AsyncQueueReader
Checks whether AsyncQueueReader is registered for the SelectableChannel, associated with the given SelectionKey

Specified by:
isReady in interface AsyncQueueReader
Parameters:
key - SelectionKey associated with SelectableChannel
Returns:
true, if there is ready data. False otherwise.

getAsyncQueue

public AsyncQueue.AsyncQueueEntry getAsyncQueue(SelectionKey key)
Description copied from interface: AsyncQueueReader
Gets ready asynchronous queue elements to be read from the SelectableChannel, associated with the given SelectionKey

Specified by:
getAsyncQueue in interface AsyncQueueReader
Parameters:
key - SelectionKey associated with SelectableChannel
Returns:
ready asynchronous queue elements to be read to the SelectableChannel, associated with the given SelectionKey/

onRead

public void onRead(SelectionKey key)
            throws IOException
Description copied from interface: AsyncQueueReader
Callback method, which should be called by SelectorHandler to notify, that SelectableChannel, associated with the given SelectableChannel has ready data for reading.

Specified by:
onRead in interface AsyncQueueReader
Parameters:
key - SelectionKey associated with SelectableChannel
Throws:
IOException

onClose

public void onClose(SelectableChannel channel)
Description copied from interface: AsyncQueueReader
Callback method, which should be called by SelectorHandler to notify, that given SelectableChannel is going to be closed, so related data could be released from AsyncQueueReader

Specified by:
onClose in interface AsyncQueueReader

close

public void close()
Description copied from interface: AsyncQueueReader
Close AsyncQueueReader and release its resources

Specified by:
close in interface AsyncQueueReader

doRead

protected abstract OperationResult doRead(ReadableByteChannel channel,
                                          ByteBuffer byteBuffer,
                                          AsyncQueueDataProcessor readPostProcessor,
                                          OperationResult dstResult)
                                   throws IOException
Throws:
IOException


Copyright © 2012 Oracle Corporation. All Rights Reserved.