PHPMetricsHandler   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 28
ccs 0
cts 11
cp 0
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A incrementUsers() 0 5 1
A decrementUsers() 0 5 1
A getNbUsers() 0 3 1
A resetUsers() 0 5 1
1
<?php
2
3
namespace BenTools\MercurePHP\Metrics\PHP;
4
5
use BenTools\MercurePHP\Metrics\MetricsHandlerInterface;
6
use React\Promise\PromiseInterface;
7
8
use function React\Promise\resolve;
9
10
final class PHPMetricsHandler implements MetricsHandlerInterface
11
{
12
    private int $nbUsers = 0;
13
14
    public function resetUsers(string $localAddress): PromiseInterface
15
    {
16
        $this->nbUsers = 0;
17
18
        return resolve();
19
    }
20
21
    public function incrementUsers(string $localAddress): PromiseInterface
22
    {
23
        $this->nbUsers++;
24
25
        return resolve();
26
    }
27
28
    public function decrementUsers(string $localAddress): PromiseInterface
29
    {
30
        $this->nbUsers--;
31
32
        return resolve();
33
    }
34
35
    public function getNbUsers(): PromiseInterface
36
    {
37
        return resolve($this->nbUsers);
38
    }
39
}
40