You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Roland Weber (JIRA)" <ji...@apache.org> on 2006/09/02 23:14:22 UTC

[jira] Commented: (HTTPCORE-11) Provide generic server and client connection primitives that can work with arbitrary HTTP data receivers and transmitters.

    [ http://issues.apache.org/jira/browse/HTTPCORE-11?page=comments#action_12432304 ] 
            
Roland Weber commented on HTTPCORE-11:
--------------------------------------

Hi Oleg,

I am totally confused by the patch(es). The patch tool complains that the patch (httpcore-abstractconn.patch) is already applied and suggests to use the -R option to undo it. Did you already check in the second patch, too? Or did JIRA reverse the numbering and conn.patch is the second one? conn.patch can not be applied with or without -R, the tool complains in both cases for different files.

No matter which patch I apply forward or partially reversed, AbstractHttpConnection still exists. But I managed to generate a version where DefaultHttpClientConnection is derived from AbstractHttpClientConnection, which fits the description of your last comment. In that version, DefaultHCC holds everything to do with host and socket, while AbstractHCC has transmitters, receivers, and (de)serialisers. That version looks good, with the following suggestions for improvement:
- "volatile boolean open" and isOpen/assertOpen/assertNotOpen could be moved to AbstractHCC (?)
- same for the server side
- "private static boolean startsWithHTTP" in AbstractHCC should be protected or public
 
The code duplication on client and server side is not pretty, but I'm still glad that we've got rid of the common base class.
Should we define a container class that holds transmitter/receiver/(de)serialiser and is used by client and server implementations?
That would eliminate the duplicate attributes, getters, and setters. Except for the new container of course.

cheers,
  Roland


> Provide generic server and client connection primitives that can work with arbitrary HTTP data receivers and transmitters.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCORE-11
>                 URL: http://issues.apache.org/jira/browse/HTTPCORE-11
>             Project: HttpComponents Core
>          Issue Type: Improvement
>          Components: HttpCore
>    Affects Versions: 4.0-alpha2
>            Reporter: Oleg Kalnichevski
>         Assigned To: Oleg Kalnichevski
>             Fix For: 4.0-alpha3
>
>         Attachments: conn.patch, httpcore-abstractconn.patch
>
>
> Provide generic server and client connection primitives that can work with arbitrary HTTP data receivers and transmitters. The default connection primitives in their present form are tightly coupled with the java.net.Socket class. There are cases when the underlying I/O transport is based on different media (MINA transport, NIO channels)

-- 
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: httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org