ConnectionFactoryInterface.php 944 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace Elasticsearch\Connections;
  3. use Elasticsearch\Serializers\SerializerInterface;
  4. use Psr\Log\LoggerInterface;
  5. /**
  6. * Class AbstractConnection
  7. *
  8. * @category Elasticsearch
  9. * @package Elasticsearch\Connections
  10. * @author Zachary Tong <zach@elastic.co>
  11. * @license http://www.apache.org/licenses/LICENSE-2.0 Apache2
  12. * @link http://elastic.co
  13. */
  14. interface ConnectionFactoryInterface
  15. {
  16. /**
  17. * @param $handler
  18. * @param array $connectionParams
  19. * @param SerializerInterface $serializer
  20. * @param LoggerInterface $logger
  21. * @param LoggerInterface $tracer
  22. */
  23. public function __construct(
  24. callable $handler,
  25. array $connectionParams,
  26. SerializerInterface $serializer,
  27. LoggerInterface $logger,
  28. LoggerInterface $tracer
  29. );
  30. /**
  31. * @param $hostDetails
  32. *
  33. * @return ConnectionInterface
  34. */
  35. public function create($hostDetails);
  36. }