public Selector getSelector(){ if (selector != null) { return selector; } else { selectorHandler.getSelector(); } return null; }
/** * Get main {@link Selector} * @deprecated To get the right {@link Selector}, please request context associated <tt>SelectorHandler</tt>: {@link SelectorHandler#getSelector()} */ public Selector getSelector(){ if (selector != null) { return selector; } else { return selectorHandler.getSelector(); } }
@Override public void stopEndpoint() { try { super.stopEndpoint(); } catch (Exception t) { logger.log(Level.SEVERE, "Unable to stop properly", t); // Force the Selector(s) to be closed in case an unexpected // exception occurred during shutdown. try { if (selectorHandler != null && selectorHandler.getSelector() != null) { selectorHandler.getSelector().close(); } } catch (IOException ignored) { } } }
/** * {@inheritDoc} */ public void writeToAsyncQueue(ByteBuffer buffer, AsyncWriteCallbackHandler callbackHandler, AsyncQueueDataProcessor writePreProcessor, boolean isCloneByteBuffer) throws IOException { 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 { 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 { selectorHandler.getAsyncQueueWriter().write( socketChannel.keyFor(selectorHandler.getSelector()), dstAddress, buffer, callbackHandler, writePreProcessor, isCloneByteBuffer); }
SelectionKey key = socketChannel.keyFor(selectorHandler.getSelector()); int nWrite = 1; int totalWriteBytes = 0;
/** * Close the underlying connection. */ public void close() throws IOException{ if (socketChannel != null){ if (selectorHandler != null){ SelectionKey key = socketChannel.keyFor(selectorHandler.getSelector()); if (key == null) return; selectorHandler.getSelectionKeyHandler().cancel(key); } else { socketChannel.close(); } } if (controller != null && isStandalone){ controller.stop(); controller = null; } isStandalone = false; isConnected = false; connectionTimeout = DEFAULT_CONNECTION_TIMEOUT; }
SelectionKey key = socketChannel.keyFor(selectorHandler.getSelector()); if (blocking){ inputStream.setSelectionKey(key);