This commit adds a ConnectionPool trait, used to manage a pool of connections to nodes in an Elasticsearch cluster. Two implementations are included
SingleNodeConnectionPool: manages a single connection to Elasticsearch
CloudConnectionPool: manages a single connection to Elasticsearch running in Elasticsearch service on Elastic Cloud.
Refactor Connection and ConnectionBuilder to introduce Transport and TransportBuilder. A transport is responsible for making requests to Elasticsearch, retrieving a connection from a connection pool to
use to make the request.
This commit adds a ConnectionPool trait, used to manage a pool of connections to nodes in an Elasticsearch cluster. Two implementations are included
Refactor Connection and ConnectionBuilder to introduce Transport and TransportBuilder. A transport is responsible for making requests to Elasticsearch, retrieving a connection from a connection pool to use to make the request.
Closes #7