Completed
Push — master ( 53214f...7b5764 )
by Kamil
03:10
created

ReactLoop   A

Complexity

Total Complexity 17

Size/Duplication

Total Lines 152
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 86.36%

Importance

Changes 0
Metric Value
wmc 17
lcom 1
cbo 2
dl 0
loc 152
ccs 38
cts 44
cp 0.8636
rs 10
c 0
b 0
f 0

17 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A __destruct() 0 4 1
A getActualLoop() 0 4 1
A addReadStream() 0 4 1
A addWriteStream() 0 4 1
A removeReadStream() 0 4 1
A removeWriteStream() 0 4 1
A removeStream() 0 4 1
A addTimer() 0 4 1
A addPeriodicTimer() 0 4 1
A cancelTimer() 0 4 1
A isTimerActive() 0 4 1
A nextTick() 0 4 1
A futureTick() 0 4 1
A tick() 0 2 1
A run() 0 2 1
A stop() 0 2 1
1
<?php
2
3
namespace Dazzle\Loop\Bridge\React;
4
5
use Dazzle\Loop\LoopInterface;
6
7
class ReactLoop implements ReactLoopInterface
8
{
9
    /**
10
     * @var LoopInterface
11
     */
12
    protected $loop;
13
14
    /**
15
     * @param LoopInterface $loop
16
     */
17 15
    public function __construct(LoopInterface $loop)
18
    {
19 15
        $this->loop = $loop;
20 15
    }
21
22
    /**
23
     *
24
     */
25 15
    public function __destruct()
26
    {
27 15
        unset($this->loop);
28 15
    }
29
30
    /**
31
     * @override
32
     * @inheritDoc
33
     */
34 1
    public function getActualLoop()
35
    {
36 1
        return $this->loop;
37
    }
38
39
    /**
40
     * @override
41
     * @inheritDoc
42
     */
43 1
    public function addReadStream($stream, callable $listener)
44
    {
45 1
        $this->loop->addReadStream($stream, $listener);
46 1
    }
47
48
    /**
49
     * @override
50
     * @inheritDoc
51
     */
52 1
    public function addWriteStream($stream, callable $listener)
53
    {
54 1
        $this->loop->addWriteStream($stream, $listener);
55 1
    }
56
57
    /**
58
     * @override
59
     * @inheritDoc
60
     */
61 1
    public function removeReadStream($stream)
62
    {
63 1
        $this->loop->removeReadStream($stream);
64 1
    }
65
66
    /**
67
     * @override
68
     * @inheritDoc
69
     */
70 1
    public function removeWriteStream($stream)
71
    {
72 1
        $this->loop->removeWriteStream($stream);
73 1
    }
74
75
    /**
76
     * @override
77
     * @inheritDoc
78
     */
79 1
    public function removeStream($stream)
80
    {
81 1
        $this->loop->removeStream($stream);
82 1
    }
83
84
    /**
85
     * @override
86
     * @inheritDoc
87
     */
88 2
    public function addTimer($interval, callable $callback)
89
    {
90 2
        return new ReactTimer($this->loop->addTimer($interval, $callback));
91
    }
92
93
    /**
94
     * @override
95
     * @inheritDoc
96
     */
97 2
    public function addPeriodicTimer($interval, callable $callback)
98
    {
99 2
        return new ReactTimer($this->loop->addPeriodicTimer($interval, $callback));
100
    }
101
102
    /**
103
     * @override
104
     * @inheritDoc
105
     */
106 1
    public function cancelTimer(\React\EventLoop\Timer\TimerInterface $timer)
107
    {
108 1
        $this->loop->cancelTimer($timer->getActualTimer());
109 1
    }
110
111
    /**
112
     * @override
113
     * @inheritDoc
114
     */
115 1
    public function isTimerActive(\React\EventLoop\Timer\TimerInterface $timer)
116
    {
117 1
        return $this->loop->isTimerActive($timer->getActualTimer());
118
    }
119
120
    /**
121
     * @override
122
     * @inheritDoc
123
     */
124 1
    public function nextTick(callable $listener)
125
    {
126 1
        $this->loop->onBeforeTick($listener);
127 1
    }
128
129
    /**
130
     * @override
131
     * @inheritDoc
132
     */
133 1
    public function futureTick(callable $listener)
134
    {
135 1
        $this->loop->onAfterTick($listener);
136 1
    }
137
138
    /**
139
     * @override
140
     * @inheritDoc
141
     */
142
    public function tick()
143
    {}
144
145
    /**
146
     * @override
147
     * @inheritDoc
148
     */
149
    public function run()
150
    {}
151
152
    /**
153
     * @override
154
     * @inheritDoc
155
     */
156
    public function stop()
157
    {}
158
}
159