hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (Resolved) (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HTTPCORE-288) Change TCP_NODELAY and SO_KEEPALIVE on the fly
Date Wed, 14 Mar 2012 17:16:41 GMT

     [ https://issues.apache.org/jira/browse/HTTPCORE-288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Oleg Kalnichevski resolved HTTPCORE-288.

       Resolution: Fixed
    Fix Version/s:     (was: Future)

HTTPCORE-295 provided a means of getting access to the underlying socket of non-blocking connections
thus allowing modification of socket settings at execution time. It is quite a hack but it
is all we can do without breaking the API.

> Change TCP_NODELAY and SO_KEEPALIVE on the fly
> ----------------------------------------------
>                 Key: HTTPCORE-288
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-288
>             Project: HttpComponents HttpCore
>          Issue Type: Improvement
>          Components: HttpCore, HttpCore NIO
>    Affects Versions: 4.2-alpha2
>            Reporter: Geir Harald Hansen
>            Priority: Minor
>             Fix For: 4.2-beta2
> Request:
> HttpConnection#setTcpNoDelay() and setSocketKeepalive() methods to modify those socket
settings on the fly like can be done with setSocketTimeout()
> Motivation:
> Set different socket options depending on the request to support different services on
the same port. E.g. turn on TCP_NODELAY for requests to an AJAX-based unix shell, but turn
it off for transferring large files. Turn on SO_KEEPALIVE and turn off socket timeout for
long poll (comet) requests, but not for other requests.
> Potential problem:
> When using persistent connections it is easy to forget that these options survive to
the next request. This situation exists with socket timeout already, though. You have to remember
to set it back when sending a response if you don't want it for the next request. Perhaps
a way to set timeout/nodelay/keepalive temporarily only for the current request is useful.
Either way, I'd be happy to just be able to set nodelay and keepalive on the fly.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message