Completed
Branch 0.4-dev (54e67b)
by Evgenij
02:52
created

NativeRequestExecutor::disconnectItems()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
/**
3
 * Async sockets
4
 *
5
 * @copyright Copyright (c) 2015-2016, Efimov Evgenij <[email protected]>
6
 *
7
 * This source file is subject to the MIT license that is bundled
8
 * with this source code in the file LICENSE.
9
 */
10
11
namespace AsyncSockets\RequestExecutor;
12
13
use AsyncSockets\Configuration\Configuration;
14
use AsyncSockets\RequestExecutor\Pipeline\EventCaller;
15
use AsyncSockets\RequestExecutor\Pipeline\Pipeline;
16
use AsyncSockets\RequestExecutor\Pipeline\PipelineFactory;
17
18
/**
19
 * Class RequestExecutor
20
 */
21
class NativeRequestExecutor extends AbstractRequestExecutor
22
{
23
    /**
24
     * Pipeline
25
     *
26
     * @var Pipeline
27
     */
28
    private $pipeline;
29
30
    /**
31
     * PipelineFactory
32
     *
33
     * @var PipelineFactory
34
     */
35
    private $pipelineFactory;
36
37
    /**
38
     * RequestExecutor constructor.
39
     *
40
     * @param PipelineFactory $pipelineFactory Pipeline factory
41
     * @param Configuration   $configuration Configuration for executor
42
     */
43 68
    public function __construct(PipelineFactory $pipelineFactory, Configuration $configuration)
44
    {
45 68
        parent::__construct($configuration);
46 68
        $this->pipelineFactory = $pipelineFactory;
47 68
    }
48
49
    /** {@inheritdoc} */
50 66
    protected function initializeRequest(EventCaller $eventCaller)
51
    {
52 66
        parent::initializeRequest($eventCaller);
53 66
        $this->pipeline = $this->pipelineFactory->createPipeline($this, $eventCaller, $this->solver);
54 66
    }
55
56
    /** {@inheritdoc} */
57 66
    protected function terminateRequest()
58 1
    {
59 66
        parent::terminateRequest();
60 66
        $this->pipeline = null;
61 66
    }
62
63
    /** {@inheritdoc} */
64 66
    protected function doExecuteRequest(EventCaller $eventCaller)
65
    {
66 66
        $this->pipeline->process($this->socketBag);
67 28
    }
68
69
    /** {@inheritdoc} */
70 11
    protected function disconnectItems(array $items)
71
    {
72 11
        $this->pipeline->disconnectSockets($items);
73 11
    }
74
}
75