|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface AsyncQueueWriter
Common inteface to be implemented by protocol dependant asynchronous queue writers implementations
Method Summary | |
---|---|
void |
close()
Close AsyncQueueWriter and release its resources |
boolean |
hasReadyAsyncWriteData(SelectionKey key)
Checks whether there is any data in AsyncQueue ready
to be written to 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 SelectableChannel data could be released from
AsyncQueue |
void |
onWrite(SelectionKey key)
Callback method, which should be called by SelectorHandler to
notify, that SelectableChannel , associated with the given
SelectionKey is ready to transmit data. |
void |
write(SelectionKey key,
ByteBuffer buffer)
Method writes ByteBuffer to the SelectableChannel
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SelectableChannel directly (without putting to the queue). |
void |
write(SelectionKey key,
ByteBuffer buffer,
AsyncWriteCallbackHandler callbackHandler)
Method writes ByteBuffer to the SelectableChannel
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SelectableChannel directly (without putting to the queue). |
void |
write(SelectionKey key,
ByteBuffer buffer,
AsyncWriteCallbackHandler callbackHandler,
AsyncQueueDataProcessor writePreProcessor)
Method writes ByteBuffer to the SelectableChannel
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SelectableChannel directly (without putting to the queue). |
void |
write(SelectionKey key,
ByteBuffer buffer,
AsyncWriteCallbackHandler callbackHandler,
AsyncQueueDataProcessor writePreProcessor,
boolean isCloneByteBuffer)
Method writes ByteBuffer to the SelectableChannel
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SelectableChannel directly (without putting to the queue). |
void |
write(SelectionKey key,
SocketAddress dstAddress,
ByteBuffer buffer)
Method sends ByteBuffer to the SocketAddress
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SocketAddress directly (without putting to the queue). |
void |
write(SelectionKey key,
SocketAddress dstAddress,
ByteBuffer buffer,
AsyncWriteCallbackHandler callbackHandler)
Method sends ByteBuffer to the SocketAddress
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SocketAddress directly (without putting to the queue). |
void |
write(SelectionKey key,
SocketAddress dstAddress,
ByteBuffer buffer,
AsyncWriteCallbackHandler callbackHandler,
AsyncQueueDataProcessor writePreProcessor)
Method sends ByteBuffer to the SocketAddress
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SocketAddress directly (without putting to the queue). |
void |
write(SelectionKey key,
SocketAddress dstAddress,
ByteBuffer buffer,
AsyncWriteCallbackHandler callbackHandler,
AsyncQueueDataProcessor writePreProcessor,
boolean isCloneByteBuffer)
Method sends ByteBuffer to the SocketAddress
First, if SelectableChannel associated write queue is empty -
it tries to write ByteBuffer to the given
SocketAddress directly (without putting to the queue). |
Method Detail |
---|
void write(SelectionKey key, ByteBuffer buffer) throws IOException
ByteBuffer
to the SelectableChannel
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SelectableChannel
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise it will be just logged by
Grizzly framework.
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
ByteBuffer
should be written tobuffer
- ByteBuffer
- Throws:
IOException
void write(SelectionKey key, ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler) throws IOException
ByteBuffer
to the SelectableChannel
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SelectableChannel
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise, if the ByteBuffer
is
added to a writing queue - exception notification will come via
AsyncWriteCallbackHandler.onIOException()
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
ByteBuffer
should be written tobuffer
- ByteBuffer
callbackHandler
- AsyncWriteCallbackHandler
,
which will get notified, when
ByteBuffer
will be completely written
- Throws:
IOException
void write(SelectionKey key, ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler, AsyncQueueDataProcessor writePreProcessor) throws IOException
ByteBuffer
to the SelectableChannel
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SelectableChannel
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise, if the ByteBuffer
is
added to a writing queue - exception notification will come via
AsyncWriteCallbackHandler.onIOException()
Before data will be written on SelectableChannel
, first it
will be passed for preprocessing to AsyncQueueDataProcessor
,
and then preprocessor result data
(AsyncQueueDataProcessor.getResultByteBuffer()
) will be
written on the SelectableChannel
.
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
ByteBuffer
should be written tobuffer
- ByteBuffer
callbackHandler
- AsyncWriteCallbackHandler
,
which will get notified, when
ByteBuffer
will be completely writtenwritePreProcessor
- AsyncQueueDataProcessor
, which
will perform data processing, before it will be
written on SelectableChannel
- Throws:
IOException
void write(SelectionKey key, ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler, AsyncQueueDataProcessor writePreProcessor, boolean isCloneByteBuffer) throws IOException
ByteBuffer
to the SelectableChannel
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SelectableChannel
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise, if the ByteBuffer
is
added to a writing queue - exception notification will come via
AsyncWriteCallbackHandler.onIOException()
Before data will be written on SelectableChannel
, first it
will be passed for preprocessing to AsyncQueueDataProcessor
,
and then preprocessor result data
(AsyncQueueDataProcessor.getResultByteBuffer()
) will be
written on the SelectableChannel
.
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
ByteBuffer
should be written tobuffer
- ByteBuffer
callbackHandler
- AsyncWriteCallbackHandler
,
which will get notified, when
ByteBuffer
will be completely writtenwritePreProcessor
- AsyncQueueDataProcessor
, which
will perform data processing, before it will be
written on SelectableChannel
isCloneByteBuffer
- if true - AsyncQueueWriter
will
clone given
ByteBuffer
before puting it to the
AsyncQueue
- Throws:
IOException
void write(SelectionKey key, SocketAddress dstAddress, ByteBuffer buffer) throws IOException
ByteBuffer
to the SocketAddress
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SocketAddress
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise it will be just logged by
Grizzly framework.
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
, which will be used to
sendByteBuffer
todstAddress
- destination address ByteBuffer
will be sent tobuffer
- ByteBuffer
- Throws:
IOException
void write(SelectionKey key, SocketAddress dstAddress, ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler) throws IOException
ByteBuffer
to the SocketAddress
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SocketAddress
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise, if the ByteBuffer
is
added to a writing queue - exception notification will come via
AsyncWriteCallbackHandler.onIOException()
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
ByteBuffer
should be written todstAddress
- destination address ByteBuffer
will be sent tobuffer
- ByteBuffer
callbackHandler
- AsyncWriteCallbackHandler
,
which will get notified, when
ByteBuffer
will be completely written
- Throws:
IOException
void write(SelectionKey key, SocketAddress dstAddress, ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler, AsyncQueueDataProcessor writePreProcessor) throws IOException
ByteBuffer
to the SocketAddress
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SocketAddress
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise, if the ByteBuffer
is
added to a writing queue - exception notification will come via
AsyncWriteCallbackHandler.onIOException()
Before data will be written on SelectableChannel
, first it
will be passed for preprocessing to AsyncQueueDataProcessor
,
and then preprocessor result data
(AsyncQueueDataProcessor.getResultByteBuffer()
) will be
written on the SelectableChannel
.
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
ByteBuffer
should be written todstAddress
- destination address ByteBuffer
will be sent tobuffer
- ByteBuffer
callbackHandler
- AsyncWriteCallbackHandler
,
which will get notified, when
ByteBuffer
will be completely writtenwritePreProcessor
- AsyncQueueDataProcessor
, which
will perform data processing, before it will be
written on SelectableChannel
- Throws:
IOException
void write(SelectionKey key, SocketAddress dstAddress, ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler, AsyncQueueDataProcessor writePreProcessor, boolean isCloneByteBuffer) throws IOException
ByteBuffer
to the SocketAddress
First, if SelectableChannel
associated write queue is empty -
it tries to write ByteBuffer
to the given
SocketAddress
directly (without putting to the queue).
If associated write queue is not empty or after direct writing
ByteBuffer
still has ready data to be written -
ByteBuffer
will be added to AsyncQueue
and SelectableChannel will be registered on
SelectorHandler
, waiting for OP_WRITE event.
If an exception occurs, during direct writing - it will be propagated
to the caller directly, otherwise, if the ByteBuffer
is
added to a writing queue - exception notification will come via
AsyncWriteCallbackHandler.onIOException()
Before data will be written on SelectableChannel
, first it
will be passed for preprocessing to AsyncQueueDataProcessor
,
and then preprocessor result data
(AsyncQueueDataProcessor.getResultByteBuffer()
) will be
written on the SelectableChannel
.
- Parameters:
key
- SelectionKey
associated with
SelectableChannel
ByteBuffer
should be written todstAddress
- destination address ByteBuffer
will be sent tobuffer
- ByteBuffer
callbackHandler
- AsyncWriteCallbackHandler
,
which will get notified, when
ByteBuffer
will be completely writtenwritePreProcessor
- AsyncQueueDataProcessor
, which
will perform data processing, before it will be
written on SelectableChannel
isCloneByteBuffer
- if true - AsyncQueueWriter
will
clone given
ByteBuffer
before puting it to the
AsyncQueue
- Throws:
IOException
boolean hasReadyAsyncWriteData(SelectionKey key)
AsyncQueue
ready
to be written to the SelectableChannel
, associated with the
given SelectionKey
key
- SelectionKey
associated with SelectableChannel
void onWrite(SelectionKey key) throws IOException
SelectorHandler
to
notify, that SelectableChannel
, associated with the given
SelectionKey
is ready to transmit data.
key
- SelectionKey
associated with SelectableChannel
IOException
void onClose(SelectableChannel channel)
SelectorHandler
to
notify, that given SelectableChannel
is going to be closed, so
related SelectableChannel
data could be released from
AsyncQueue
SelectableChannel
-
IOException
void close()
AsyncQueueWriter
and release its resources
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |