@Override protected void registerWriteInterest() { ((AprEndpoint) endpoint).getPoller().add(socket, -1, false, true); }
@Override protected void registerForEvent(boolean read, boolean write) { ((AprEndpoint) endpoint).getPoller().add( socketWrapper.getSocket().longValue(), -1, read, write); }
@Override protected void registerForEvent(boolean read, boolean write) { ((AprEndpoint) endpoint).getPoller().add( socketWrapper.getSocket().longValue(), -1, read, write); }
@Override public void registerWriteInterest() { // Make sure an already closed socket is not added to the poller synchronized (closedLock) { if (closed) { return; } ((AprEndpoint) getEndpoint()).getPoller().add( getSocket().longValue(), getWriteTimeout(), Poll.APR_POLLOUT); } }
@Override public void registerReadInterest() { // Make sure an already closed socket is not added to the poller synchronized (closedLock) { if (closed) { return; } Poller p = ((AprEndpoint) getEndpoint()).getPoller(); if (p != null) { p.add(getSocket().longValue(), getReadTimeout(), Poll.APR_POLLIN); } } }
/** * Expected to be used by the handler once the processor is no longer * required. */ @Override public void release(SocketWrapper<Long> socket, AjpAprProcessor processor, boolean isSocketClosing, boolean addToPoller) { processor.recycle(isSocketClosing); recycledProcessors.offer(processor); if (addToPoller) { ((AprEndpoint)proto.endpoint).getPoller().add( socket.getSocket().longValue(), true); } }
/** * Expected to be used by the handler once the processor is no longer * required. */ @Override public void release(SocketWrapper<Long> socket, Processor<Long> processor, boolean isSocketClosing, boolean addToPoller) { processor.recycle(isSocketClosing); recycledProcessors.push(processor); if (addToPoller) { ((AprEndpoint)proto.endpoint).getPoller().add( socket.getSocket().longValue(), proto.endpoint.getKeepAliveTimeout(), true, false); } }
/** * Expected to be used by the handler once the processor is no longer * required. */ @Override public void release(SocketWrapper<Long> socket, Processor<Long> processor, boolean isSocketClosing, boolean addToPoller) { processor.recycle(isSocketClosing); recycledProcessors.offer(processor); if (addToPoller) { ((AprEndpoint)proto.endpoint).getPoller().add( socket.getSocket().longValue(), proto.endpoint.getKeepAliveTimeout(), AprEndpoint.Poller.FLAGS_READ); } }
@Override public void run() { synchronized (socket) { if (!deferAccept) { if (setSocketOptions(socket.getSocket().longValue())) { getPoller().add(socket.getSocket().longValue()); } else { // Close socket and pool destroySocket(socket.getSocket().longValue()); socket = null; } } else { // Process the request from this socket if (!setSocketOptions(socket.getSocket().longValue()) || handler.process(socket) == Handler.SocketState.CLOSED) { // Close socket and pool destroySocket(socket.getSocket().longValue()); socket = null; } } } }
/** * Expected to be used by the handler once the processor is no longer * required. * * @param socket * @param processor * @param isSocketClosing Not used in HTTP * @param addToPoller */ @Override public void release(SocketWrapper<Long> socket, Http11AprProcessor processor, boolean isSocketClosing, boolean addToPoller) { processor.recycle(); recycledProcessors.offer(processor); if (addToPoller && proto.endpoint.isRunning()) { ((AprEndpoint)proto.endpoint).getPoller().add( socket.getSocket().longValue(), true); } }
@Override public void close() { getEndpoint().getHandler().release(this); synchronized (closedLock) { // APR typically crashes if the same socket is closed twice so // make sure that doesn't happen. if (closed) { return; } closed = true; if (sslOutputBuffer != null) { ByteBufferUtils.cleanDirectBuffer(sslOutputBuffer); } ((AprEndpoint) getEndpoint()).getPoller().close(getSocket().longValue()); } }
public void run() { if (!deferAccept) { if (setSocketOptions(socket)) { getPoller().add(socket); } else { // Close socket and pool destroySocket(socket); socket = 0; } } else { // Process the request from this socket if (!setSocketOptions(socket) || handler.process(socket) == Handler.SocketState.CLOSED) { // Close socket and pool destroySocket(socket); socket = 0; } } }
if (!deferAccept) { if (setSocketOptions(socket.getSocket().longValue())) { getPoller().add(socket.getSocket().longValue(), false); } else {
/** * Expected to be used by the handler once the processor is no longer * required. * * @param socket * @param processor * @param isSocketClosing Not used in HTTP * @param addToPoller */ @Override public void release(SocketWrapper<Long> socket, Processor<Long> processor, boolean isSocketClosing, boolean addToPoller) { processor.recycle(isSocketClosing); recycledProcessors.push(processor); if (addToPoller && proto.endpoint.isRunning()) { ((AprEndpoint)proto.endpoint).getPoller().add( socket.getSocket().longValue(), proto.endpoint.getKeepAliveTimeout(), true, false); } }
if (!deferAccept) { if (setSocketOptions(socket)) { getPoller().add(socket.getSocket().longValue(), getConnectionTimeout(), Poll.APR_POLLIN); } else {
/** * Expected to be used by the handler once the processor is no longer * required. * * @param socket * @param processor * @param isSocketClosing Not used in HTTP * @param addToPoller */ @Override public void release(SocketWrapper<Long> socket, Processor<Long> processor, boolean isSocketClosing, boolean addToPoller) { processor.recycle(isSocketClosing); recycledProcessors.offer(processor); if (addToPoller && proto.endpoint.isRunning()) { ((AprEndpoint)proto.endpoint).getPoller().add( socket.getSocket().longValue(), proto.endpoint.getKeepAliveTimeout(), AprEndpoint.Poller.FLAGS_READ); } }
@Override protected void longPoll(SocketWrapper<Long> socket, Processor<Long> processor) { if (processor.isAsync()) { // Async socket.setAsync(true); } else if (processor.isComet()) { // Comet if (proto.endpoint.isRunning()) { socket.setComet(true); ((AprEndpoint) proto.endpoint).getPoller().add( socket.getSocket().longValue(), proto.endpoint.getSoTimeout(), true, false); } else { // Process a STOP directly ((AprEndpoint) proto.endpoint).processSocket( socket.getSocket().longValue(), SocketStatus.STOP); } } else { // Upgraded Poller p = ((AprEndpoint) proto.endpoint).getPoller(); if (p == null) { // Connector has been stopped release(socket, processor, true, false); } else { p.add(socket.getSocket().longValue(), -1, true, false); } } }
public void run() { if (!deferAccept) { if (setSocketOptions(socket)) { getPoller().add(socket); } else { // Close socket and pool Socket.destroy(socket); } } else { // Process the request from this socket if (!setSocketOptions(socket) || handler.process(socket) == Handler.SocketState.CLOSED) { // Close socket and pool Socket.destroy(socket); } } socket = 0; }
public void run() { if (!deferAccept) { if (setSocketOptions(socket)) { getPoller().add(socket); } else { // Close socket and pool Socket.destroy(socket); } } else { // Process the request from this socket if (!setSocketOptions(socket) || handler.process(socket) == Handler.SocketState.CLOSED) { // Close socket and pool Socket.destroy(socket); } } socket = 0; }
@Override protected void longPoll(SocketWrapper<Long> socket, Processor<Long> processor) { connections.put(socket.getSocket(), processor); if (processor.isAsync()) { // Async socket.setAsync(true); } else if (processor.isComet()) { // Comet if (proto.endpoint.isRunning()) { ((AprEndpoint) proto.endpoint).getCometPoller().add( socket.getSocket().longValue(), proto.endpoint.getSoTimeout(), AprEndpoint.Poller.FLAGS_READ); } else { // Process a STOP directly ((AprEndpoint) proto.endpoint).processSocket( socket.getSocket().longValue(), SocketStatus.STOP); } } else { // Upgraded ((AprEndpoint) proto.endpoint).getPoller().add( socket.getSocket().longValue(), processor.getUpgradeInbound().getReadTimeout(), AprEndpoint.Poller.FLAGS_READ); } }