/** * Gets <code>SSLConnectorHandler</code> {@link SelectionKey} * @return {@link SelectionKey} */ private SelectionKey getSelectionKey() { return socketChannel.keyFor(selectorHandler.getSelector()); }
/** * Flushes as much as possible bytes from the secured output buffer * @return true if secured buffer was completely flushed, false otherwise */ private boolean flushSecuredOutputBuffer() throws IOException { int nWrite = 1; while (nWrite > 0 && securedOutputBuffer.hasRemaining()) { nWrite = socketChannel.write(securedOutputBuffer); } if (securedOutputBuffer.hasRemaining()) { SelectionKey key = socketChannel.keyFor(selectorHandler.getSelector()); selectorHandler.register(key, SelectionKey.OP_WRITE); return false; } return true; }
/** * {@inheritDoc} */ public void writeToAsyncQueue(ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler, AsyncQueueDataProcessor writePreProcessor, boolean isCloneByteBuffer) throws IOException { isAsyncWriteQueueMode = true; selectorHandler.getAsyncQueueWriter().write( socketChannel.keyFor(selectorHandler.getSelector()), buffer, callbackHandler, writePreProcessor, isCloneByteBuffer); }
/** * {@inheritDoc} */ public void readFromAsyncQueue(ByteBuffer buffer, AsyncReadCallbackHandler callbackHandler, AsyncReadCondition condition, AsyncQueueDataProcessor readPostProcessor) throws IOException { isAsyncReadQueueMode = true; selectorHandler.getAsyncQueueReader().read( socketChannel.keyFor(selectorHandler.getSelector()), buffer, callbackHandler, condition, readPostProcessor); }
/** * {@inheritDoc} */ public void writeToAsyncQueue(SocketAddress dstAddress, ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler, AsyncQueueDataProcessor writePreProcessor, boolean isCloneByteBuffer) throws IOException { isAsyncWriteQueueMode = true; selectorHandler.getAsyncQueueWriter().write( socketChannel.keyFor(selectorHandler.getSelector()), dstAddress, buffer, callbackHandler, writePreProcessor, isCloneByteBuffer); }
SelectionKey key = socketChannel.keyFor(selectorHandler.getSelector());