FilterLoad::getFilter()   A
last analyzed

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
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 0
cp 0
crap 2
rs 10
c 0
b 0
f 0
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