Hi Oleg,

I've had some time to relax and think about connections.
As a result, I would like to sum up what I think you are
trying to achieve. Please have a look through it and
correct me where I got you wrong...

In HttpClient, the Connection class directly implemented
all the functionality that was needed. In HttpCore, the
HttpClientConnection interface started out in a similar
fashion, providing basically all the methods we expected
an application or any component to be interested in.
If I got your intentions right this time, you are trying
to change that. Instead of a full-blown abstraction for
client connections, you want HttpCore to define a kind of
adapter interface, which holds only those methods that
are required within HttpCore. Defining a full-blown
abstraction is left to HttpConn.

The responsibility for opening a connection should be moved
outside of HttpCore. Hence, the interface does not need to
specify an open(...) method. HttpCore does not care where
the connection points to, hence the interface does not need
a getTargetHost() method. SocketFactory is only needed to
open a connection, hence it is not needed in HttpCore.

Have you considered ConnectionReuseStrategy? If opening
connections is not the responsibility of HttpCore, then
deciding on reuse vs. opening a new one shouldn't be either.

cheers,
  Roland

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to