Minor dependency updates
[yaffs-website] / vendor / symfony / process / Pipes / PipesInterface.php
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      * Closes file handles and pipes.
58      */
59     public function close();
60 }