approaching socket failures from the client rather than the pool