Message   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 75
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
lcom 1
cbo 1
dl 0
loc 75
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 11 1
A prepare() 0 4 1
1
<?php
2
3
namespace Thruster\Component\Dns;
4
5
/**
6
 * Class Message
7
 *
8
 * @package Thruster\Component\Dns
9
 * @author  Aurimas Niekis <[email protected]>
10
 */
11
class Message
12
{
13
    const TYPE_A = 1;
14
    const TYPE_NS = 2;
15
    const TYPE_CNAME = 5;
16
    const TYPE_SOA = 6;
17
    const TYPE_PTR = 12;
18
    const TYPE_MX = 15;
19
    const TYPE_TXT = 16;
20
21
    const CLASS_IN = 1;
22
23
    const OPCODE_QUERY = 0;
24
    const OPCODE_IQUERY = 1; // inverse query
25
    const OPCODE_STATUS = 2;
26
27
    const RCODE_OK = 0;
28
    const RCODE_FORMAT_ERROR = 1;
29
    const RCODE_SERVER_FAILURE = 2;
30
    const RCODE_NAME_ERROR = 3;
31
    const RCODE_NOT_IMPLEMENTED = 4;
32
    const RCODE_REFUSED = 5;
33
34
    /**
35
     * @var string
36
     */
37
    public $data;
38
39
    /**
40
     * @var HeaderBag
41
     */
42
    public $header;
43
44
    /**
45
     * @var array
46
     */
47
    public $questions;
48
49
    /**
50
     * @var array
51
     */
52
    public $answers;
53
54
    /**
55
     * @var array
56
     */
57
    public $authority;
58
59
    /**
60
     * @var array
61
     */
62
    public $additional;
63
64
    /**
65
     * @var int
66
     */
67
    public $consumed;
68
69
    public function __construct()
70
    {
71
        $this->header = new HeaderBag();
72
73
        $this->data       = '';
74
        $this->questions  = [];
75
        $this->answers    = [];
76
        $this->authority  = [];
77
        $this->additional = [];
78
        $this->consumed   = 0;
79
    }
80
81
    public function prepare()
82
    {
83
        $this->header->populateCounts($this);
84
    }
85
}
86