org.glassfish.grizzly.nio
Class AbstractNIOAsyncQueueReader
java.lang.Object
org.glassfish.grizzly.AbstractReader<SocketAddress>
org.glassfish.grizzly.nio.AbstractNIOAsyncQueueReader
- All Implemented Interfaces:
- AsyncQueue, AsyncQueueReader<SocketAddress>, Reader<SocketAddress>
- Direct Known Subclasses:
- TCPNIOAsyncQueueReader, UDPNIOAsyncQueueReader
public abstract class AbstractNIOAsyncQueueReader
- extends AbstractReader<SocketAddress>
- implements AsyncQueueReader<SocketAddress>
The AsyncQueueReader
implementation, based on the Java NIO
- Author:
- Alexey Stashok, Ryan Lubke, Gustav Trede
Method Summary |
void |
close()
Close AsyncQueueProcessor and release associated resources |
protected int |
doRead(Connection connection,
AsyncReadQueueRecord queueRecord)
Performs real read on the NIO channel |
boolean |
isReady(Connection connection)
Checks whether there is ready data in AsyncQueue ,
associated with the Connection . |
void |
onClose(Connection connection)
Callback method, which is called, when Connection has been closed,
to let processor release a connection associated resources. |
protected void |
onReadFailure(Connection connection,
AsyncReadQueueRecord failedRecord,
IOException e)
|
protected abstract void |
onReadyToRead(Connection connection)
|
AsyncQueue.AsyncResult |
processAsync(Context context)
Callback method, which is called async. |
void |
read(Connection connection,
Buffer buffer,
CompletionHandler<ReadResult<Buffer,SocketAddress>> completionHandler,
Interceptor<ReadResult> interceptor)
Method reads data to the buffer. |
protected abstract int |
read0(Connection connection,
Buffer buffer,
ReadResult<Buffer,SocketAddress> currentResult)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE
- See Also:
- Constant Field Values
defaultBufferSize
protected int defaultBufferSize
transport
protected final NIOTransport transport
AbstractNIOAsyncQueueReader
public AbstractNIOAsyncQueueReader(NIOTransport transport)
read
public void read(Connection connection,
Buffer buffer,
CompletionHandler<ReadResult<Buffer,SocketAddress>> completionHandler,
Interceptor<ReadResult> interceptor)
- Method reads data to the buffer.
- Specified by:
read
in interface Reader<SocketAddress>
- Parameters:
connection
- the Connection
to read frombuffer
- the Buffer
to which data will be readcompletionHandler
- CompletionHandler
,
which will get notified, when read will be completedinterceptor
- Interceptor
, which will be able to intercept
control each time new portion of a data was read to a
buffer.
The interceptor can decide, whether asynchronous read is
completed or not, or provide other processing instructions.
isReady
public final boolean isReady(Connection connection)
- Checks whether there is ready data in
AsyncQueue
,
associated with the Connection
.
- Specified by:
isReady
in interface AsyncQueue
- Parameters:
connection
- Connection
- Returns:
- true, if there is ready data,
or false otherwise.
processAsync
public AsyncQueue.AsyncResult processAsync(Context context)
- Callback method, which is called async. to process ready
AsyncQueue
, which are associated with the given
Connection
- Specified by:
processAsync
in interface AsyncQueue
- Parameters:
context
- Context
- Returns:
AsyncQueue.AsyncResult
, depending on async queue status.
onClose
public void onClose(Connection connection)
- Callback method, which is called, when
Connection
has been closed,
to let processor release a connection associated resources.
- Specified by:
onClose
in interface AsyncQueue
- Parameters:
connection
- Connection
close
public final void close()
- Close AsyncQueueProcessor and release associated resources
- Specified by:
close
in interface AsyncQueue
doRead
protected final int doRead(Connection connection,
AsyncReadQueueRecord queueRecord)
throws IOException
- Performs real read on the NIO channel
- Parameters:
connection
- the Connection
to read fromqueueRecord
- the record to be read to
- Throws:
IOException
onReadFailure
protected final void onReadFailure(Connection connection,
AsyncReadQueueRecord failedRecord,
IOException e)
read0
protected abstract int read0(Connection connection,
Buffer buffer,
ReadResult<Buffer,SocketAddress> currentResult)
throws IOException
- Throws:
IOException
onReadyToRead
protected abstract void onReadyToRead(Connection connection)
throws IOException
- Throws:
IOException
Copyright © 2012 Oracle Corporation. All Rights Reserved.