Passed
Push — master ( 63c37e...115ddb )
by Camilo
02:40
created

PubRec::expectAnswer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
eloc 1
nc 1
nop 2
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace unreal4u\MQTT\Protocol;
6
7
use unreal4u\MQTT\Internals\ClientInterface;
8
use unreal4u\MQTT\Internals\ProtocolBase;
9
use unreal4u\MQTT\Internals\ReadableContent;
10
use unreal4u\MQTT\Internals\ReadableContentInterface;
11
use unreal4u\MQTT\Internals\WritableContent;
12
use unreal4u\MQTT\Internals\WritableContentInterface;
13
14
final class PubRec extends ProtocolBase implements ReadableContentInterface, WritableContentInterface
15
{
16
    use ReadableContent, WritableContent;
17
18
    public $packetIdentifier = 0;
19
20
    const CONTROL_PACKET_VALUE = 5;
21
22
    public function fillObject(string $rawMQTTHeaders, ClientInterface $client): ReadableContentInterface
23
    {
24
        $this->packetIdentifier = $this->extractPacketIdentifier($rawMQTTHeaders);
25
        return $this;
26
    }
27
28
    /**
29
     * Creates the variable header that each method has
30
     * @return string
31
     */
32
    public function createVariableHeader(): string
33
    {
34
        // TODO: Implement createVariableHeader() method.
35
        return '';
36
    }
37
38
    /**
39
     * Creates the actual payload to be sent
40
     * @return string
41
     */
42
    public function createPayload(): string
43
    {
44
        // TODO: Implement createPayload() method.
45
        return '';
46
    }
47
48
    /**
49
     * Some responses won't expect an answer back, others do in some situations
50
     * @return bool
51
     */
52
    public function shouldExpectAnswer(): bool
53
    {
54
        return true;
55
    }
56
57
    /**
58
     * Any class can overwrite the default behaviour
59
     * @param ClientInterface $client
60
     * @param WritableContentInterface $originalRequest
61
     * @return bool
62
     */
63
    public function performSpecialActions(ClientInterface $client, WritableContentInterface $originalRequest): bool
64
    {
65
        $this->logger->debug('Creating response in the form of a PubRel');
66
        $pubRel = new PubRel($this->logger);
67
        $pubRel->packetIdentifier = $this->packetIdentifier;
68
69
        $pubComp = $client->sendData($pubRel);
0 ignored issues
show
Unused Code introduced by
The assignment to $pubComp is dead and can be removed.
Loading history...
70
        return true;
71
    }
72
}
73