FilterLoad   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 37
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A getNetworkCommand() 0 3 1
A getBuffer() 0 3 1
A getFilter() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BitWasp\Bitcoin\Networking\Messages;
6
7
use BitWasp\Bitcoin\Bloom\BloomFilter;
8
use BitWasp\Bitcoin\Networking\Message;
9
use BitWasp\Bitcoin\Networking\NetworkSerializable;
10
use BitWasp\Bitcoin\Networking\Serializer\Message\FilterLoadSerializer;
11
use BitWasp\Bitcoin\Serializer\Bloom\BloomFilterSerializer;
12
use BitWasp\Buffertools\BufferInterface;
13
14
class FilterLoad extends NetworkSerializable
15
{
16
    /**
17
     * @var BloomFilter
18
     */
19
    private $filter;
20
21
    /**
22 3
     * @param BloomFilter $filter
23
     */
24 3
    public function __construct(BloomFilter $filter)
25 3
    {
26
        $this->filter = $filter;
27
    }
28
29
    /**
30 3
     * @return string
31
     * @see https://en.bitcoin.it/wiki/Protocol_documentation#filterload.2C_filteradd.2C_filterclear.2C_merkleblock
32 3
     */
33
    public function getNetworkCommand(): string
34
    {
35
        return Message::FILTERLOAD;
36
    }
37
38 3
    /**
39
     * @return BloomFilter
40 3
     */
41
    public function getFilter(): BloomFilter
42
    {
43
        return $this->filter;
44
    }
45 3
    /**
46
     * @return BufferInterface
47 3
     */
48
    public function getBuffer(): BufferInterface
49
    {
50
        return (new FilterLoadSerializer(new BloomFilterSerializer()))->serialize($this);
51
    }
52
}
53