Isaac Cruz Ballesteros created HTTPCORE-752:
-----------------------------------------------

             Summary: Idle timeout on HTTPS connection does not work
                 Key: HTTPCORE-752
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-752
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 5.2.1
            Reporter: Isaac Cruz Ballesteros
         Attachments: httpsTimeout.zip

I'm having issues trying to set an idle timeout on https connections on an 
asynchronous HTTPS server. This is what I'm doing:
{code:java}
         IOReactorConfig ioReactorConfig = IOReactorConfig.custom()
                 .setIoThreadCount(4)
                 .setSoTimeout(5000, TimeUnit.MILLISECONDS)
                 .setTcpNoDelay(false)
                 .setSoReuseAddress(true)
                 .setBacklogSize(0)
                 .build(); {code}
And passing that ioReactorConfig to DefaultListeningIOReactor, and an 
IOSessionListener to be notified of timed out connections.

So the thing is, for plain http connections, that timeout works (my listener is 
called after 5 seconds, when the other end stops sending data), but on https 
connections, it does not work, and I need connections to be closed.

Attached maven project that reproduces this issue.

Class TestHttpsTimeout has a main() method that initializes the HTTPS server, 
using httpcore, and then acts as a HTTPS client that stops sending data after 
sending 25000 out of 50000 bytes (line 141). At this point I'm unable to detect 
this idle connection from server side.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to