Re: /bzr/squid3/trunk/ r11499: Upgrade comm layer Connection handling

From: Tsantilas Christos <chtsanti_at_users.sourceforge.net>
Date: Tue, 21 Jun 2011 12:46:25 +0300

On 06/19/2011 05:19 AM, Amos Jeffries wrote:
> Comm no longer contains implicit DNS resolution. It needs to be given
> the remote IP address before opening.

Why?
Looks that the best (and easier) way to solve the problem is to handle
it in Comm::ConnOpener.
A DNS lookup to get the ip address to connect to, looks like a job of
the Comm::ConnOpener ...

>
> Since ServiceRep::getConnection() is strictly synchronous and assumes
> that there is only one IP for the service.
>
> Xaction::openConnection() can become async so now contains:
> "TODO: find the IPs and attempt each one if this is a named service"
> marks the spot.
>
> For now it converts IP-addressed services using raw-IP text conversion
> "remote= s.cfg().host.termedBuf()". Which is synchronous and
> non-blocking but not resolving FQDN.
>
> When FQDN resolution is required do we ...
>
> a) split openConnection() into two async steps and only use one of the
> possibly multiple IPs returned?
>
> OR
>
> b) lookup the DNS at some far earlier point and store the IPA in
> ServiceRep for some sort of load balancing selection of just one by
> getConnection()?
>
> Amos
Received on Tue Jun 21 2011 - 09:47:12 MDT

This archive was generated by hypermail 2.2.0 : Tue Jun 21 2011 - 12:00:04 MDT