hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HTTPCLIENT-475) Provide support for unconnected sockets
Date Wed, 27 Dec 2006 20:10:23 GMT
    [ http://issues.apache.org/jira/browse/HTTPCLIENT-475?page=comments#action_12461095 ] 
            
Oleg Kalnichevski commented on HTTPCLIENT-475:
----------------------------------------------

Patch look good. It, however, breaks some test cases. TestSSLSocketFactory no longer compiles
for me.

Can this method be given a better name? connectSocket maybe?

    Socket createSocket(
        Socket sock,
        String host, 
        int port, 
        InetAddress localAddress, 
        int localPort,
        HttpParams params
    ) throws IOException, UnknownHostException, ConnectTimeoutException;

> Considering the original problem report, this patch will not solve the issue completely.
We can support 
> unconnected sockets all right, but where does the abort() method go now that HttpMethod
is gone? ;-) 

Implementing abort() method should be double. Connection release may prove a much more serious
problem in my opinion. I was thinking about something along these lines:

interface Request extends HttpRequest {
 
 void setConnection(HttpConnection conn);

 void abort() throws IOException;

}


interface Response extends HttpResponse {
 
 void setConnection(HttpConnection conn);

 void abort() throws IOException;

 void releaseConnection();

}

Better interface names are welcome.

Oleg


> Provide support for unconnected sockets
> ---------------------------------------
>
>                 Key: HTTPCLIENT-475
>                 URL: http://issues.apache.org/jira/browse/HTTPCLIENT-475
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpConn
>    Affects Versions: Nightly Builds
>         Environment: Operating System: All
> Platform: PC
>            Reporter: Benjamin Chevillon
>         Assigned To: Roland Weber
>            Priority: Minor
>             Fix For: 4.0 Alpha 1
>
>         Attachments: 2k6-12-27-socketfactory-1.txt, ConnectTest.java, ConnectTest.log,
MethodAbortTest.java, MethodAbortTestWithoutProxy.log, MethodAbortTestWithProxy.log
>
>
> Overview description:
> If Proxy settings are incorrect or host does not reply, the
> HttpClient.executeMethod() hangs, and HttpMethod.abort() does not stop it. Thus,
> you cannot assert that the entire application will stop immediately on demand.
> Expected Results:
> During a HttpMethod.executeMethod(), HttpMethod.abort() should cancel
> immediately the executeMethod().
> Actual Results:
> If HttpMethod.executeMethod() freezes because of Proxy bad settings or not
> responding hostname (in fact impossible to open the socket), the abort() method
> does not do anything.
> Platform:
> I tested it on Windows XP and Linux Debian with HttpClient 3.0 RC2 (but if you
> look further I point the problem and the source code of the nightly build is
> identical).
> See comments for the dialogue about the problem, and 2 Test cases. The solution
> is described at the end, but it may implies a change in the API and works only
> since Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message