/** * Read the bytes from the wrapped {@link ByteBuffer}. */ @Override public int read(byte[] b) throws IOException { return (read (b, 0, b.length)); }
/** * Creates {@link InputReader} */ protected InputReader createInputReader() { return new InputReader( ByteBufferFactory.allocateView(bbSize,false)); }
/** * Read bytes using the read <code>ReadSelector</code> * @return - number of bytes read * @throws java.io.IOException */ protected int doRead() throws IOException{ if ( key == null ) return -1; if (secure){ return doSecureRead(); } else { return doClearRead(); } }
/** * Configure {@link InputReader} * @param {@link InputReader} */ protected void configureByteBufferInputStream( InputReader inputStream, Context context, HttpWorkerThread workerThread) { inputStream.setSelectionKey(context.getSelectionKey()); inputStream.setSecure(false); }
/** * Configure {@link InputReader}. */ @Override protected void configureInputBuffer(InputReader inputStream, Context context, HttpWorkerThread workerThread) { // Save the buffer before recycle final ByteBuffer associatedBuffer = inputStream.getByteBuffer(); inputStream.recycle(); // Restore the buffer inputStream.setByteBuffer(associatedBuffer); inputStream.setSelectionKey(context.getSelectionKey()); inputStream.setSecure(isSecure()); }
if (blocking){ if (inputStream == null) { inputStream = new InputReader(); inputStream.setSelectionKey(key); inputStream.setChannelType( InputReader.ChannelType.DatagramChannel); int nRead = inputStream.read(byteBuffer); return nRead; } else {
/** * Constructor. * * @param server * The parent server. * @param byteBuffer * The NIO byte buffer. * @param key * The NIO selection key. * @param confidential * Indicates if the call is confidential. */ public GrizzlyServerCall(Server server, ByteBuffer byteBuffer, SelectionKey key, boolean confidential) { super(server); setConfidential(confidential); this.byteBuffer = byteBuffer; this.requestStream = new InputReader(); this.requestStream.setSelectionKey(key); this.requestStream.setByteBuffer(byteBuffer); this.socketChannel = (SocketChannel) key.channel(); getRequestHeaders().clear(); try { // Read the request header readRequestHead(this.requestStream); } catch (IOException ioe) { getLogger().log(Level.WARNING, "Unable to parse the HTTP request", ioe); } }
/** * Configure {@link InputReader}. */ protected void configureByteBufferInputStream( InputReader inputStream, Context context, HttpWorkerThread workerThread) { inputStream.setSelectionKey(context.getSelectionKey()); inputStream.setByteBuffer(workerThread.getByteBuffer()); inputStream.setSecure(isSecure()); }
/** * Read the first byte from the wrapped {@link ByteBuffer}. */ @Override public int read() throws IOException { if (!byteBuffer.hasRemaining()){ byteBuffer.clear(); int eof = doRead(); if (eof <= 0){ return -1; } } return (byteBuffer.hasRemaining() ? (byteBuffer.get () & 0xff): -1); }
inputStream.setSelectionKey(key); return inputStream.read(byteBuffer); } else { if (callbackHandler == null){
ByteBuffer nextBuffer = inputStream.getByteBuffer(); nextBuffer.clear(); ByteBuffer byteBuffer = workerThread.getByteBuffer(); workerThread.setByteBuffer(nextBuffer); inputStream.setByteBuffer(byteBuffer);
/** * {@inheritDoc} */ @Override protected void configureInputBuffer(InputReader inputStream, Context context, HttpWorkerThread workerThread) { inputStream.setSelectionKey(context.getSelectionKey()); final SSLEngine engine = workerThread.getSSLEngine(); inputStream.setSslEngine(engine); swapEncryptInBuffer(inputStream, workerThread, engine); }
inputStream = new InputReader(); workerThread.setInputStream(inputStream); if (processorTask != null && !processorTask.isError() && isSuspended) { // Process suspended HTTP request workerThread.setInputStream(new InputReader()); workerThread.setByteBuffer(null); workerThread.setProcessorTask(null); inputStream.recycle();
/** * {@inheritDoc} */ @Override protected void configureByteBufferInputStream( InputReader inputStream, Context context, HttpWorkerThread workerThread) { ((SSLAsyncStream) inputStream).setSslEngine(workerThread.getSSLEngine()); ((SSLAsyncStream) inputStream).setInputBB(workerThread.getInputBB()); inputStream.setSelectionKey(context.getSelectionKey()); }
int soTimeout = ((InputReader)inputStream).getReadTimeout(); if (handleKeepAliveBlockingThread) { ExtendedThreadPool st =(ExtendedThreadPool) getThreadPool(); ((InputReader)inputStream).setReadTimeout(soTimeout);
/** * Called when the Asynchronous Request Processing is resuming. */ public void taskEvent(TaskEvent event){ if (event.getStatus() == TaskEvent.COMPLETED || event.getStatus() == TaskEvent.ERROR){ ProcessorTask processor = (ProcessorTask) event.attachement(); // Should never happens. if (processor.getSelectionKey() == null){ logger.log(Level.WARNING,"AsyncProtocolFilter invalid state."); return; } InputReader is = (InputReader) processor.getInputStream(); is.getByteBuffer().clear(); byteBufferStreams.offer(is); SelectorThread selectorThread = processor.getSelectorThread(); if (processor.isKeepAlive() && !processor.isError()){ selectorThread.registerKey(processor.getSelectionKey()); } else { selectorThread.cancelKey(processor.getSelectionKey()); } processor.recycle(); selectorThread.returnTask(processor); } }
((InputReader)input).setReadTimeout(uploadTimeout);
int timeout = Integer.parseInt( System.getProperty(TEMPORARY_SELECTOR_TIMEOUT)); InputReader.setDefaultReadTimeout(timeout); } catch (NumberFormatException ex){ SelectorThread.logger().log(Level.WARNING,
/** * Configure {@link InputReader}. */ protected void configureInputBuffer(InputReader inputStream, Context context, HttpWorkerThread workerThread) { inputStream.recycle(); inputStream.setSelectionKey(context.getSelectionKey()); inputStream.setByteBuffer(workerThread.getByteBuffer()); inputStream.setSecure(isSecure()); }
/** * Read the first byte from the wrapped {@link ByteBuffer}. */ @Override public int read() throws IOException { if (!byteBuffer.hasRemaining()){ byteBuffer.clear(); int eof = doRead(); if (eof <= 0){ return -1; } } return (byteBuffer.hasRemaining() ? (byteBuffer.get () & 0xff): -1); }