Skip to content

Commit

Permalink
Allow ConnectionFactory to be override (#456)
Browse files Browse the repository at this point in the history
  • Loading branch information
tchiotludo authored and polyfractal committed Aug 29, 2016
1 parent e4530a7 commit cc2a5fe
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 15 deletions.
16 changes: 10 additions & 6 deletions src/Elasticsearch/ConnectionPool/AbstractConnectionPool.php
Expand Up @@ -5,7 +5,8 @@
use Elasticsearch\Common\Exceptions\InvalidArgumentException;
use Elasticsearch\ConnectionPool\Selectors\SelectorInterface;
use Elasticsearch\Connections\Connection;
use Elasticsearch\Connections\ConnectionFactory;
use Elasticsearch\Connections\ConnectionFactoryInterface;
use Elasticsearch\Connections\ConnectionInterface;

/**
* Class AbstractConnectionPool
Expand Down Expand Up @@ -39,18 +40,21 @@ abstract class AbstractConnectionPool implements ConnectionPoolInterface
*/
protected $selector;

/** @var array */
protected $connectionPoolParams;

/** @var \Elasticsearch\Connections\ConnectionFactory */
protected $connectionFactory;

/**
* Constructor
*
* @param ConnectionInterface[] $connections The Connections to choose from
* @param SelectorInterface $selector A Selector instance to perform the selection logic for the available connections
* @param ConnectionFactory $factory ConnectionFactory instance
* @param array $connectionPoolParams
* @param ConnectionInterface[] $connections The Connections to choose from
* @param SelectorInterface $selector A Selector instance to perform the selection logic for the available connections
* @param ConnectionFactoryInterface $factory ConnectionFactory instance
* @param array $connectionPoolParams
*/
public function __construct($connections, SelectorInterface $selector, ConnectionFactory $factory, $connectionPoolParams)
public function __construct($connections, SelectorInterface $selector, ConnectionFactoryInterface $factory, $connectionPoolParams)
{
$paramList = array('connections', 'selector', 'connectionPoolParams');
foreach ($paramList as $param) {
Expand Down
5 changes: 2 additions & 3 deletions src/Elasticsearch/ConnectionPool/SimpleConnectionPool.php
Expand Up @@ -2,18 +2,17 @@

namespace Elasticsearch\ConnectionPool;

use Elasticsearch\Common\Exceptions\NoNodesAvailableException;
use Elasticsearch\ConnectionPool\Selectors\SelectorInterface;
use Elasticsearch\Connections\Connection;
use Elasticsearch\Connections\ConnectionFactory;
use Elasticsearch\Connections\ConnectionFactoryInterface;

class SimpleConnectionPool extends AbstractConnectionPool implements ConnectionPoolInterface
{

/**
* {@inheritdoc}
*/
public function __construct($connections, SelectorInterface $selector, ConnectionFactory $factory, $connectionPoolParams)
public function __construct($connections, SelectorInterface $selector, ConnectionFactoryInterface $factory, $connectionPoolParams)
{
parent::__construct($connections, $selector, $factory, $connectionPoolParams);
}
Expand Down
7 changes: 5 additions & 2 deletions src/Elasticsearch/ConnectionPool/SniffingConnectionPool.php
Expand Up @@ -6,7 +6,7 @@
use Elasticsearch\Common\Exceptions\NoNodesAvailableException;
use Elasticsearch\ConnectionPool\Selectors\SelectorInterface;
use Elasticsearch\Connections\Connection;
use Elasticsearch\Connections\ConnectionFactory;
use Elasticsearch\Connections\ConnectionFactoryInterface;

class SniffingConnectionPool extends AbstractConnectionPool implements ConnectionPoolInterface
{
Expand All @@ -16,7 +16,10 @@ class SniffingConnectionPool extends AbstractConnectionPool implements Connectio
/** @var int */
private $nextSniff = -1;

public function __construct($connections, SelectorInterface $selector, ConnectionFactory $factory, $connectionPoolParams)
/**
* {@inheritdoc}
*/
public function __construct($connections, SelectorInterface $selector, ConnectionFactoryInterface $factory, $connectionPoolParams)
{
parent::__construct($connections, $selector, $factory, $connectionPoolParams);

Expand Down
4 changes: 2 additions & 2 deletions src/Elasticsearch/ConnectionPool/StaticConnectionPool.php
Expand Up @@ -5,7 +5,7 @@
use Elasticsearch\Common\Exceptions\NoNodesAvailableException;
use Elasticsearch\ConnectionPool\Selectors\SelectorInterface;
use Elasticsearch\Connections\Connection;
use Elasticsearch\Connections\ConnectionFactory;
use Elasticsearch\Connections\ConnectionFactoryInterface;

class StaticConnectionPool extends AbstractConnectionPool implements ConnectionPoolInterface
{
Expand All @@ -22,7 +22,7 @@ class StaticConnectionPool extends AbstractConnectionPool implements ConnectionP
/**
* {@inheritdoc}
*/
public function __construct($connections, SelectorInterface $selector, ConnectionFactory $factory, $connectionPoolParams)
public function __construct($connections, SelectorInterface $selector, ConnectionFactoryInterface $factory, $connectionPoolParams)
{
parent::__construct($connections, $selector, $factory, $connectionPoolParams);
$this->scheduleCheck();
Expand Down
Expand Up @@ -5,7 +5,7 @@
use Elasticsearch\Common\Exceptions\NoNodesAvailableException;
use Elasticsearch\ConnectionPool\Selectors\SelectorInterface;
use Elasticsearch\Connections\Connection;
use Elasticsearch\Connections\ConnectionFactory;
use Elasticsearch\Connections\ConnectionFactoryInterface;

class StaticNoPingConnectionPool extends AbstractConnectionPool implements ConnectionPoolInterface
{
Expand All @@ -22,7 +22,7 @@ class StaticNoPingConnectionPool extends AbstractConnectionPool implements Conne
/**
* {@inheritdoc}
*/
public function __construct($connections, SelectorInterface $selector, ConnectionFactory $factory, $connectionPoolParams)
public function __construct($connections, SelectorInterface $selector, ConnectionFactoryInterface $factory, $connectionPoolParams)
{
parent::__construct($connections, $selector, $factory, $connectionPoolParams);
}
Expand Down
3 changes: 3 additions & 0 deletions src/Elasticsearch/Connections/ConnectionFactory.php
Expand Up @@ -19,6 +19,9 @@ class ConnectionFactory implements ConnectionFactoryInterface
/** @var array */
private $connectionParams;

/** @var SerializerInterface */
private $serializer;

/** @var LoggerInterface */
private $logger;

Expand Down

0 comments on commit cc2a5fe

Please sign in to comment.