/** * Re-enable the SelectionKey and make sure the ByteBuffer has been cleared. * @return <tt>true</tt> if the previous ProtocolFilter postExecute method * needs to be invoked. */ public boolean postExecute(Context ctx) throws IOException { ctx.setKeyRegistrationState(Context.KeyRegistrationState.REGISTER); ((WorkerThread)Thread.currentThread()).getByteBuffer().clear(); return true; }
public ByteBuffer getByteBuffer() { return workerThread().getByteBuffer(); }
public ByteBuffer getByteBuffer() { return workerThread().getByteBuffer(); }
public boolean execute(Context ctx) throws IOException { final WorkerThread workerThread = ((WorkerThread) Thread.currentThread()); ByteBuffer byteBuffer = workerThread.getByteBuffer(); int pos = byteBuffer.position(); int limit = byteBuffer.limit(); try { byteBuffer.flip(); byte[] array; int arrayOffset; int arrayLength = byteBuffer.remaining(); if (byteBuffer.hasArray()) { array = byteBuffer.array(); arrayOffset = byteBuffer.arrayOffset(); } else { array = new byte[arrayLength]; byteBuffer.get(array); arrayOffset = 0; } System.out.println("Request: " + new String(array, arrayOffset, arrayLength)); } finally { byteBuffer.position(pos); byteBuffer.limit(limit); } return true; }
public boolean execute(Context ctx) throws IOException { final WorkerThread workerThread = ((WorkerThread)Thread.currentThread()); ByteBuffer buffer = workerThread.getByteBuffer(); buffer.flip(); if (buffer.hasRemaining()) { // Store incoming data in byte[] byte[] data = new byte[buffer.remaining()]; int position = buffer.position(); buffer.get(data); buffer.position(position); SelectableChannel channel = ctx.getSelectionKey().channel(); try { SSLOutputWriter.flushChannel(channel, buffer); } catch (IOException ex) { throw ex; } } buffer.clear(); return false; }
HttpRedirector.redirectSSL(ctx, sslEngine, thread.getByteBuffer(), thread.getOutputBB(), redirectPort, } else { HttpRedirector.redirect(ctx, thread.getByteBuffer(), redirectPort, redirectToSecure); final ByteBuffer bb = thread.getByteBuffer();
public boolean execute(Context ctx) throws IOException { final WorkerThread workerThread = ((WorkerThread)Thread.currentThread()); ByteBuffer buffer = workerThread.getByteBuffer(); buffer.flip(); if (buffer.hasRemaining()) {
if (sslEngine == null) { return Utils.readWithTemporarySelector(key.channel(), thread.getByteBuffer(), timeout).bytesRead; } else { ByteBuffer byteBuffer = thread.getByteBuffer(); final ByteBuffer securedBuffer = thread.getInputBB(); if (securedBuffer.position() > 0) {
final WorkerThread workerThread = (WorkerThread)Thread.currentThread(); ByteBuffer byteBuffer = workerThread.getByteBuffer(); ByteBuffer outputBB = workerThread.getOutputBB(); ByteBuffer inputBB = workerThread.getInputBB();
final WorkerThread workerThread = (WorkerThread)Thread.currentThread(); ByteBuffer byteBuffer = workerThread.getByteBuffer(); ByteBuffer outputBB = workerThread.getOutputBB(); ByteBuffer inputBB = workerThread.getInputBB();
public boolean execute(Context ctx) throws IOException { final WorkerThread workerThread = ((WorkerThread)Thread.currentThread()); ByteBuffer buffer = workerThread.getByteBuffer(); buffer.flip(); if (buffer.hasRemaining()) {
final WorkerThread workerThread = (WorkerThread)Thread.currentThread(); ByteBuffer byteBuffer = workerThread.getByteBuffer(); ByteBuffer outputBB = workerThread.getOutputBB(); ByteBuffer inputBB = workerThread.getInputBB();
/** * Get the peer certificate list by initiating a new handshake. * @param key {@link SelectionKey} * @param needClientAuth * @return Object[] An array of X509Certificate. * @throws java.io.IOException */ public static Object[] doPeerCertificateChain(SelectionKey key, boolean needClientAuth) throws IOException { final WorkerThread workerThread = (WorkerThread)Thread.currentThread(); ByteBuffer byteBuffer = workerThread.getByteBuffer(); ByteBuffer inputBB = workerThread.getInputBB(); ByteBuffer outputBB = workerThread.getOutputBB(); SSLEngine sslEngine = workerThread.getSSLEngine(); return SSLUtils.doPeerCertificateChain((SocketChannel) key.channel(), byteBuffer, inputBB, outputBB, sslEngine, needClientAuth, InputReader.getDefaultReadTimeout()); }
public boolean execute(Context ctx) throws IOException { final WorkerThread workerThread = ((WorkerThread) Thread.currentThread()); ByteBuffer buffer = workerThread.getByteBuffer(); buffer.flip(); if (buffer.hasRemaining()) {
.getByteBuffer(); byteBuffer.flip();
final WorkerThread workerThread = (WorkerThread)Thread.currentThread(); ByteBuffer byteBuffer = workerThread.getByteBuffer(); ByteBuffer outputBB = workerThread.getOutputBB(); ByteBuffer inputBB = workerThread.getInputBB();
private static int doRead(SelectionKey key) { final WorkerThread workerThread = (WorkerThread) Thread.currentThread(); ByteBuffer byteBuffer = workerThread.getByteBuffer(); ByteBuffer outputBB = workerThread.getOutputBB(); ByteBuffer inputBB = workerThread.getInputBB();
((WorkerThread)Thread.currentThread()).getByteBuffer(); try { socketAddress = (SocketAddress)ctx.getAttribute(UDP_SOCKETADDRESS);
((WorkerThread)Thread.currentThread()).getByteBuffer(); try { datagramChannel = (DatagramChannel)key.channel();
ByteBuffer byteBuffer = workerThread.getByteBuffer(); parser.startBuffer(byteBuffer); if (!continueExecution) {