Просмотр файла vendor/symfony/process/Pipes/PipesInterface.php

Размер файла: 1.49Kb
  1. <?php
  2.  
  3. /*
  4. * This file is part of the Symfony package.
  5. *
  6. * (c) Fabien Potencier <fabien@symfony.com>
  7. *
  8. * For the full copyright and license information, please view the LICENSE
  9. * file that was distributed with this source code.
  10. */
  11.  
  12. namespace Symfony\Component\Process\Pipes;
  13.  
  14. /**
  15. * PipesInterface manages descriptors and pipes for the use of proc_open.
  16. *
  17. * @author Romain Neutron <imprec@gmail.com>
  18. *
  19. * @internal
  20. */
  21. interface PipesInterface
  22. {
  23. const CHUNK_SIZE = 16384;
  24.  
  25. /**
  26. * Returns an array of descriptors for the use of proc_open.
  27. *
  28. * @return array
  29. */
  30. public function getDescriptors();
  31.  
  32. /**
  33. * Returns an array of filenames indexed by their related stream in case these pipes use temporary files.
  34. *
  35. * @return string[]
  36. */
  37. public function getFiles();
  38.  
  39. /**
  40. * Reads data in file handles and pipes.
  41. *
  42. * @param bool $blocking Whether to use blocking calls or not
  43. * @param bool $close Whether to close pipes if they've reached EOF
  44. *
  45. * @return string[] An array of read data indexed by their fd
  46. */
  47. public function readAndWrite($blocking, $close = false);
  48.  
  49. /**
  50. * Returns if the current state has open file handles or pipes.
  51. *
  52. * @return bool
  53. */
  54. public function areOpen();
  55.  
  56. /**
  57. * Returns if pipes are able to read output.
  58. *
  59. * @return bool
  60. */
  61. public function haveReadSupport();
  62.  
  63. /**
  64. * Closes file handles and pipes.
  65. */
  66. public function close();
  67. }