Description
Now TarantoolClientImpl (SingleSocketChannelProviderImpl) and TarantoolClusterClient (RoundRobinSocketProviderImpl) treats connection timeout as a time to successful connection despite attempts amount. When a user set connection timeout based on known network properties (say, based on rtt within a data center) it should be applied to one connection attempt.
It is possible that a user want to restrict overall time to connect to, say, fit its SLA. I think this should be controlled by a separate option.
Retries count in case of cluster client should be applied to one instance attempts I think.
I would also think whether we can pass this via configuration (and so a client should be able to pick up a default socket provider).
All this behaviour should be properly documented in README. Also I would replace the example with user-defined socket provider with an example that uses SingleSocketChannelProviderImpl.
It seems that this will not change behaviour of TarantoolClientImpl, because we don't provide built-in socket provider in the previous release.
This proposal changes user-visible behaviour of the cluster client. However it makes things a way more clear, so I guess it worth to do.