Completed
Pull Request — master (#286)
by
unknown
03:20
created

AccessRequestFrame::create()   C

Complexity

Conditions 7
Paths 64

Size

Total Lines 27
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 7
eloc 16
nc 64
nop 6
dl 0
loc 27
rs 6.7272
c 0
b 0
f 0
1
<?php
2
3
namespace PHPDaemon\Clients\AMQP\Driver\Protocol\v091\Protocol\Access;
4
5
use PHPDaemon\Clients\AMQP\Driver\Protocol\v091\Protocol\MethodFrame;
6
use PHPDaemon\Clients\AMQP\Driver\Protocol\v091\Protocol\OutgoingFrame;
7
8
/**
9
 * Class AccessRequestFrame
10
 * @author Aleksey I. Kuleshov YOU GLOBAL LIMITED
11
 * @package PHPDaemon\Clients\AMQP\Driver\Protocol\v091\Protocol\Access
12
 */
13
class AccessRequestFrame implements MethodFrame, OutgoingFrame
14
{
15
    const METHOD_ID = 0x001e000a;
16
17
    public $frameChannelId = 0;
18
    public $realm = '/data'; // shortstr
19
    public $exclusive = false; // bit
20
    public $passive = true; // bit
21
    public $active = true; // bit
22
    public $write = true; // bit
23
    public $read = true; // bit
24
25
    public static function create(
26
        $realm = null, $exclusive = null, $passive = null, $active = null, $write = null, $read = null
27
    )
28
    {
29
        $frame = new self();
30
31
        if (null !== $realm) {
32
            $frame->realm = $realm;
33
        }
34
        if (null !== $exclusive) {
35
            $frame->exclusive = $exclusive;
36
        }
37
        if (null !== $passive) {
38
            $frame->passive = $passive;
39
        }
40
        if (null !== $active) {
41
            $frame->active = $active;
42
        }
43
        if (null !== $write) {
44
            $frame->write = $write;
45
        }
46
        if (null !== $read) {
47
            $frame->read = $read;
48
        }
49
50
        return $frame;
51
    }
52
}
53