IConnectionPool.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace Yurun\Util\YurunHttp\Pool\Contract;
  3. interface IConnectionPool
  4. {
  5. /**
  6. * 关闭连接池和连接池中的连接.
  7. *
  8. * @return void
  9. */
  10. public function close();
  11. /**
  12. * 创建一个连接,但不受连接池管理.
  13. *
  14. * @return mixed
  15. */
  16. public function createConnection();
  17. /**
  18. * 获取连接.
  19. *
  20. * @return mixed
  21. */
  22. public function getConnection();
  23. /**
  24. * 释放连接占用.
  25. *
  26. * @param mixed $connection
  27. *
  28. * @return void
  29. */
  30. public function release($connection);
  31. /**
  32. * 获取当前池子中连接总数.
  33. *
  34. * @return int
  35. */
  36. public function getCount();
  37. /**
  38. * 获取当前池子中空闲连接总数.
  39. *
  40. * @return int
  41. */
  42. public function getFree();
  43. /**
  44. * 获取当前池子中正在使用的连接总数.
  45. *
  46. * @return int
  47. */
  48. public function getUsed();
  49. /**
  50. * 获取连接池配置.
  51. *
  52. * @return \Yurun\Util\YurunHttp\Pool\Config\PoolConfig
  53. */
  54. public function getConfig();
  55. }