*/
protected abstract boolean handleIncompleteRequestLineRead();
+
+ /**
+ * Set the socket timeout.
+ */
+ protected abstract void setSocketTimeout(int timeout) throws IOException;
+
+
/**
* After reading the request headers, we have to setup the request filters.
*/
socketWrapper.setKeepAliveLeft(0);
}
- long socketRef = socketWrapper.getSocket().longValue();
-
while (!error && keepAlive && !comet && !isAsync() &&
!endpoint.isPaused()) {
break;
}
if (!disableUploadTimeout) {
- Socket.timeoutSet(socketRef,
- connectionUploadTimeout * 1000);
+ setSocketTimeout(connectionUploadTimeout);
}
}
} catch (IOException e) {
}
if (!disableUploadTimeout) {
- Socket.timeoutSet(socketRef, endpoint.getSoTimeout() * 1000);
+ setSocketTimeout(endpoint.getSoTimeout());
}
rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
@Override
+ protected void setSocketTimeout(int timeout) {
+ Socket.timeoutSet(socket.getSocket().longValue(), timeout * 1000);
+ }
+
+
+ @Override
protected void setCometTimeouts(SocketWrapper<Long> socketWrapper) {
// NO-OP for APR/native
}
readComplete = false;
break;
}
- if (!disableUploadTimeout) { //only for body, not for request headers
- socketWrapper.getSocket().getIOChannel().socket().setSoTimeout(
- connectionUploadTimeout);
+ if (!disableUploadTimeout) {
+ setSocketTimeout(connectionUploadTimeout);
}
}
} catch (IOException e) {
outputBuffer.nextRequest();
}
- if (!disableUploadTimeout) { //only for body, not for request headers
- socketWrapper.getSocket().getIOChannel().socket().setSoTimeout(
- endpoint.getSoTimeout());
+ if (!disableUploadTimeout) {
+ setSocketTimeout(endpoint.getSoTimeout());
}
rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
@Override
+ protected void setSocketTimeout(int timeout) throws IOException {
+ socket.getSocket().getIOChannel().socket().setSoTimeout(timeout);
+ }
+
+
+ @Override
protected void setCometTimeouts(SocketWrapper<NioChannel> socketWrapper) {
// Comet support
SelectionKey key = socketWrapper.getSocket().getIOChannel().keyFor(
break;
}
if (!disableUploadTimeout) {
- socket.getSocket().setSoTimeout(connectionUploadTimeout);
+ setSocketTimeout(connectionUploadTimeout);
}
}
} catch (IOException e) {
}
if (!disableUploadTimeout) {
- socket.getSocket().setSoTimeout(endpoint.getSoTimeout());
+ setSocketTimeout(endpoint.getSoTimeout());
}
rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
@Override
+ protected void setSocketTimeout(int timeout) throws IOException {
+ socket.getSocket().setSoTimeout(timeout);
+ }
+
+
+ @Override
protected void setCometTimeouts(SocketWrapper<Socket> socketWrapper) {
// NO-OP for BIO
}