added knp-snappy package for Jerry's UB04 work
[openemr.git] / vendor / symfony / process / Pipes / PipesInterface.php
blob52bbe76b8f67b76ebd83fa5d1b82a7c7c26371e1
1 <?php
3 /*
4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Process\Pipes;
14 /**
15 * PipesInterface manages descriptors and pipes for the use of proc_open.
17 * @author Romain Neutron <imprec@gmail.com>
19 * @internal
21 interface PipesInterface
23 const CHUNK_SIZE = 16384;
25 /**
26 * Returns an array of descriptors for the use of proc_open.
28 * @return array
30 public function getDescriptors();
32 /**
33 * Returns an array of filenames indexed by their related stream in case these pipes use temporary files.
35 * @return string[]
37 public function getFiles();
39 /**
40 * Reads data in file handles and pipes.
42 * @param bool $blocking Whether to use blocking calls or not
43 * @param bool $close Whether to close pipes if they've reached EOF
45 * @return string[] An array of read data indexed by their fd
47 public function readAndWrite($blocking, $close = false);
49 /**
50 * Returns if the current state has open file handles or pipes.
52 * @return bool
54 public function areOpen();
56 /**
57 * Returns if pipes are able to read output.
59 * @return bool
61 public function haveReadSupport();
63 /**
64 * Closes file handles and pipes.
66 public function close();