public void attach(ThreadAttachment threadAttachment) { threadAttachment.associate(); int mode = threadAttachment.getMode(); if ((mode & Mode.BYTE_BUFFER) != 0) { byteBuffer = threadAttachment.getByteBuffer(); } if ((mode & Mode.SSL_ENGINE) != 0) { sslEngine = threadAttachment.getSSLEngine(); } if ((mode & Mode.INPUT_BB) != 0) { inputBB = threadAttachment.getInputBB(); } if ((mode & Mode.OUTPUT_BB) != 0) { outputBB = threadAttachment.getOutputBB(); } this.threadAttachment = threadAttachment; }
public ThreadAttachment getAttachment() { if (threadAttachment == null) { threadAttachment = new ThreadAttachment(); threadAttachment.associate(); } return threadAttachment; }
@Override public void release(SelectionKey selectionKey) { attributes.clear(); reset(); deassociate(); super.release(selectionKey); }
public ThreadAttachment updateAttachment(int mode) { ThreadAttachment currentAttachment = getAttachment(); currentAttachment.reset(); if ((mode & Mode.BYTE_BUFFER) != 0) { currentAttachment.setByteBuffer(byteBuffer); } if ((mode & Mode.SSL_ENGINE) != 0) { currentAttachment.setSSLEngine(sslEngine); } if ((mode & Mode.INPUT_BB) != 0) { currentAttachment.setInputBB(inputBB); } if ((mode & Mode.OUTPUT_BB) != 0) { currentAttachment.setOutputBB(outputBB); } currentAttachment.setMode(mode); return currentAttachment; }
public ThreadAttachment detach() { ThreadAttachment currentAttachment = getAttachment(); int mode = currentAttachment.getMode(); updateAttachment(mode); // Re-create a new ByteBuffer if ((mode & Mode.BYTE_BUFFER) != 0) { byteBuffer = null; } if ((mode & Mode.SSL_ENGINE) != 0) { sslEngine = null; } if ((mode & Mode.INPUT_BB) != 0) { inputBB = null; } if ((mode & Mode.OUTPUT_BB) != 0) { outputBB = null; } // Switch to the new ThreadAttachment. this.threadAttachment = null; currentAttachment.deassociate(); return currentAttachment; }
SSLEngine sslEngine = null; if (attachment instanceof ThreadAttachment) { sslEngine = ((ThreadAttachment) attachment).getSSLEngine();
@Override public ThreadAttachment getAttachment() { if (threadAttachment == null) { threadAttachment = new KeepAliveThreadAttachment(); threadAttachment.associate(); } return threadAttachment; }
@Override protected void reset() { if (threadAttachment != null) { /** * ThreadAttachment was created during prev. processing and wasn't * detached. It could happen due to some error - we need to release * the ThreadAttachment association with the current thread */ threadAttachment.deassociate(); } threadAttachment = null; super.reset(); } }
public ThreadAttachment getAttachment() { if (threadAttachment == null) { threadAttachment = new ThreadAttachment(); } return threadAttachment; }
private void saveSecuredBufferRemainders(SelectionKey selectionKey) { ThreadAttachment attachment = (ThreadAttachment) selectionKey.attachment(); WorkerThread workerThread = (WorkerThread) Thread.currentThread(); if (attachment == null || workerThread.getAttachment() != attachment) { Controller.logger().log(Level.FINE, "SelectionKey ThreadAttachment is NULL or doesn't " + "correspond to the current thread, when saving buffers"); return; } ByteBuffer inputBB = workerThread.getInputBB(); if (inputBB != null && inputBB.hasRemaining()) { workerThread.updateAttachment(attachment.getMode() | Mode.INPUT_BB); } else { workerThread.updateAttachment(attachment.getMode() & (Integer.MAX_VALUE ^ Mode.INPUT_BB)); } ByteBuffer outputBB = workerThread.getOutputBB(); if (outputBB != null && outputBB.hasRemaining()) { workerThread.updateAttachment(attachment.getMode() | Mode.OUTPUT_BB); } else { workerThread.updateAttachment(attachment.getMode() & (Integer.MAX_VALUE ^ Mode.OUTPUT_BB)); } }
public ThreadAttachment updateAttachment(int mode) { ThreadAttachment currentAttachment = getAttachment(); currentAttachment.reset(); if ((mode & Mode.BYTE_BUFFER) != 0) { currentAttachment.setByteBuffer(byteBuffer); } if ((mode & Mode.SSL_ENGINE) != 0) { currentAttachment.setSSLEngine(sslEngine); } if ((mode & Mode.INPUT_BB) != 0) { currentAttachment.setInputBB(inputBB); } if ((mode & Mode.OUTPUT_BB) != 0) { currentAttachment.setOutputBB(outputBB); } currentAttachment.setMode(mode); return currentAttachment; }
public ThreadAttachment detach() { ThreadAttachment currentAttachment = getAttachment(); int mode = currentAttachment.getMode(); updateAttachment(mode); // Re-create a new ByteBuffer if ((mode & Mode.BYTE_BUFFER) != 0) { createByteBuffer(true); } if ((mode & Mode.SSL_ENGINE) != 0) { sslEngine = null; } if ((mode & Mode.INPUT_BB) != 0) { inputBB = null; } if ((mode & Mode.OUTPUT_BB) != 0) { outputBB = null; } // Switch to the new ThreadAttachment. this.threadAttachment = null; currentAttachment.deassociate(); return currentAttachment; }
sslEngine = ((ThreadAttachment) attachment).getSSLEngine();
@Override protected void reset() { if (threadAttachment != null) { /** * ThreadAttachment was created during prev. processing and wasn't * detached. It could happen due to some error - we need to release * the ThreadAttachment association with the current thread */ threadAttachment.deassociate(); } threadAttachment = null; super.reset(); } }
private static ThreadAttachment obtainThreadAttachment() { final Thread currentThread = Thread.currentThread(); if (currentThread instanceof WorkerThread) { return ((WorkerThread) currentThread).getAttachment(); } return new ThreadAttachment(); }
public void attach(ThreadAttachment threadAttachment) { threadAttachment.associate(); int mode = threadAttachment.getMode(); if ((mode & Mode.BYTE_BUFFER) != 0) { byteBuffer = threadAttachment.getByteBuffer(); } if ((mode & Mode.SSL_ENGINE) != 0) { sslEngine = threadAttachment.getSSLEngine(); } if ((mode & Mode.INPUT_BB) != 0) { inputBB = threadAttachment.getInputBB(); } if ((mode & Mode.OUTPUT_BB) != 0) { outputBB = threadAttachment.getOutputBB(); } this.threadAttachment = threadAttachment; }
public ThreadAttachment updateAttachment(int mode) { ThreadAttachment currentAttachment = getAttachment(); currentAttachment.reset(); if ((mode & Mode.BYTE_BUFFER) != 0) { currentAttachment.setByteBuffer(byteBuffer); } if ((mode & Mode.SSL_ENGINE) != 0) { currentAttachment.setSSLEngine(sslEngine); } if ((mode & Mode.INPUT_BB) != 0) { currentAttachment.setInputBB(inputBB); } if ((mode & Mode.OUTPUT_BB) != 0) { currentAttachment.setOutputBB(outputBB); } currentAttachment.setMode(mode); return currentAttachment; }
@Override public void release(SelectionKey selectionKey) { attributes.clear(); reset(); deassociate(); super.release(selectionKey); }
public ThreadAttachment detach() { ThreadAttachment currentAttachment = getAttachment(); int mode = currentAttachment.getMode(); updateAttachment(mode); // Re-create a new ByteBuffer if ((mode & Mode.BYTE_BUFFER) != 0) { byteBuffer = ByteBufferFactory.allocate(byteBufferType, initialByteBufferSize); } if ((mode & Mode.SSL_ENGINE) != 0) { sslEngine = null; } if ((mode & Mode.INPUT_BB) != 0) { inputBB = null; } if ((mode & Mode.OUTPUT_BB) != 0) { outputBB = null; } // Switch to the new ThreadAttachment. this.threadAttachment = null; currentAttachment.deassociate(); return currentAttachment; }
public ThreadAttachment getAttachment() { if (threadAttachment == null) { threadAttachment = new ThreadAttachment(); threadAttachment.associate(); } return threadAttachment; }