@Override public SendfileState processSendfile(SendfileDataBase sendfileData) { ((SendfileData) sendfileData).socket = getSocket().longValue(); return ((AprEndpoint) getEndpoint()).getSendfile().add((SendfileData) sendfileData); }
@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); } } }
sendfileData.socket = socket; sendfileData.keepAlive = keepAlive && !pipelined; if (!endpoint.getSendfile().add(sendfileData)) { openSocket = true; break;
sendfileData.socket = socket; sendfileData.keepAlive = keepAlive && !pipelined; if (!endpoint.getSendfile().add(sendfileData)) { if (sendfileData.socket == 0) { error = true;
sendfileData.socket = socket; sendfileData.keepAlive = keepAlive; if (!endpoint.getSendfile().add(sendfileData)) { openSocket = true; break;
sendfileData.socket = socketRef; sendfileData.keepAlive = keepAlive; if (!endpoint.getSendfile().add(sendfileData)) { openSocket = true; break;
@Override protected boolean breakKeepAliveLoop(SocketWrapper<Long> socketWrapper) { openSocket = keepAlive; // Do sendfile as needed: add socket to sendfile and end if (sendfileData != null && !error) { sendfileData.socket = socketWrapper.getSocket().longValue(); sendfileData.keepAlive = keepAlive; if (!((AprEndpoint)endpoint).getSendfile().add(sendfileData)) { // Didn't send all of the data to sendfile. if (sendfileData.socket == 0) { // The socket is no longer set. Something went wrong. // Close the connection. Too late to set status code. if (log.isDebugEnabled()) { log.debug(sm.getString( "http11processor.sendfile.error")); } error = true; } else { // The sendfile Poller will add the socket to the main // Poller once sendfile processing is complete sendfileInProgress = true; } return true; } } return false; }
@Override protected boolean breakKeepAliveLoop(SocketWrapper<Long> socketWrapper) { openSocket = keepAlive; // Do sendfile as needed: add socket to sendfile and end if (sendfileData != null && !error) { sendfileData.socket = socketWrapper.getSocket().longValue(); sendfileData.keepAlive = keepAlive; if (!((AprEndpoint)endpoint).getSendfile().add(sendfileData)) { // Didn't send all of the data to sendfile. if (sendfileData.socket == 0) { // The socket is no longer set. Something went wrong. // Close the connection. Too late to set status code. if (log.isDebugEnabled()) { log.debug(sm.getString( "http11processor.sendfile.error")); } error = true; } else { // The sendfile Poller will add the socket to the main // Poller once sendfile processing is complete sendfileInProgress = true; } return true; } } return false; }
@Override protected boolean breakKeepAliveLoop(SocketWrapper<Long> socketWrapper) { openSocket = keepAlive; // Do sendfile as needed: add socket to sendfile and end if (sendfileData != null && !error) { sendfileData.socket = socketWrapper.getSocket().longValue(); sendfileData.keepAlive = keepAlive; if (!((AprEndpoint)endpoint).getSendfile().add(sendfileData)) { // Didn't send all of the data to sendfile. if (sendfileData.socket == 0) { // The socket is no longer set. Something went wrong. // Close the connection. Too late to set status code. if (log.isDebugEnabled()) { log.debug(sm.getString( "http11processor.sendfile.error")); } error = true; } else { // The sendfile Poller will add the socket to the main // Poller once sendfile processing is complete sendfileInProgress = true; } return true; } } return false; }