The one thing I'd wonder about is why you preserve the actual reason for
the failure in the backend <-> frontend protocol. It seems to me that it
would make more sense to report abstracted information about the failure,
such as "is this failure temporary or permanent". If there are other
ways that the Acquire engine is distinguishing between different failure
modes, I would prefer to see those explicitly represented as well.
I don't think that the Acquire code itself should really be dealing
explicitly with the particular way the transport layer died (except perhaps
to present an uninterpreted error string to the user).
Daniel
PS: I apologize if I misunderstood your patch, as so far I've just
skimmed over it.
Attachment:
signature.asc
Description: Digital signature