final ClientConnectionFactory<I, O,? extends ObservableConnection<I, O>> connectionFactory) {
final long startTimeMillis = Clock.newStartTimeMillis();
eventsSubject.onEvent(ClientMetricsEvent.CONNECT_START);
final ChannelFuture connectFuture = clientBootstrap.connect(serverInfo.getHost(), serverInfo.getPort());
subscriber.add(Subscriptions.create(new Action0() {
@Override
public void call() {
if (!connectFuture.isDone()) {
connectFuture.cancel(true); // Unsubscribe here means, no more connection is required. A close on connection is explicit.
}