Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 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
    public const CHUNK_SIZE = 16384;
24
 
25
    /**
26
     * Returns an array of descriptors for the use of proc_open.
27
     */
28
    public function getDescriptors(): array;
29
 
30
    /**
31
     * Returns an array of filenames indexed by their related stream in case these pipes use temporary files.
32
     *
33
     * @return string[]
34
     */
35
    public function getFiles(): array;
36
 
37
    /**
38
     * Reads data in file handles and pipes.
39
     *
40
     * @param bool $blocking Whether to use blocking calls or not
41
     * @param bool $close    Whether to close pipes if they've reached EOF
42
     *
43
     * @return string[] An array of read data indexed by their fd
44
     */
45
    public function readAndWrite(bool $blocking, bool $close = false): array;
46
 
47
    /**
48
     * Returns if the current state has open file handles or pipes.
49
     */
50
    public function areOpen(): bool;
51
 
52
    /**
53
     * Returns if pipes are able to read output.
54
     */
55
    public function haveReadSupport(): bool;
56
 
57
    /**
58
     * Closes file handles and pipes.
59
     */
60
    public function close();
61
}