bin.shen
2016-12-05 a4c9331bbfe3e8765ccdc1c54cc6931bac49cc82
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
namespace PhpAmqpLib\Helper;
 
class DebugHelper
{
    /**
     * @var bool
     */
    protected $debug;
 
    /**
     * @var string
     */
    protected $PROTOCOL_CONSTANTS_CLASS;
 
    /**
     * @param string $PROTOCOL_CONSTANTS_CLASS
     */
    public function __construct($PROTOCOL_CONSTANTS_CLASS) {
        $this->debug = defined('AMQP_DEBUG') ? AMQP_DEBUG : false;
        $this->PROTOCOL_CONSTANTS_CLASS = $PROTOCOL_CONSTANTS_CLASS;
    }
 
    /**
     * @param string $msg
     */
    public function debug_msg($msg) {
        if ($this->debug) {
            $this->print_msg($msg);
        }
    }
 
    /**
     * @param array $allowed_methods
     */
    public function debug_allowed_methods($allowed_methods) {
        if ($allowed_methods) {
            $msg = 'waiting for ' . implode(', ', $allowed_methods);
        } else {
            $msg = 'waiting for any method';
        }
        $this->debug_msg($msg);
    }
 
    /**
     * @param string $method_sig
     */
    public function debug_method_signature1($method_sig) {
        $this->debug_method_signature('< %s:', $method_sig);
    }
 
    /**
     * @param string $msg
     * @param string $method_sig
     */
    public function debug_method_signature($msg, $method_sig) {
        if ($this->debug) {
            $protocolClass = $this->PROTOCOL_CONSTANTS_CLASS;
            $this->debug_msg(sprintf(
                $msg . ': %s',
                MiscHelper::methodSig($method_sig),
                $protocolClass::$GLOBAL_METHOD_NAMES[MiscHelper::methodSig($method_sig)]
            ));
        }
    }
 
    /**
     * @param string $data
     */
    public function debug_hexdump($data) {
        if ($this->debug) {
            $this->debug_msg(sprintf(
                '< [hex]: %s%s',
                PHP_EOL,
                MiscHelper::hexdump($data, $htmloutput = false, $uppercase = true, $return = true)
            ));
        }
    }
 
    /**
     * @param int $version_major
     * @param int $version_minor
     * @param array $server_properties
     * @param array $mechanisms
     * @param array $locales
     */
    public function debug_connection_start($version_major, $version_minor, $server_properties, $mechanisms, $locales) {
        if ($this->debug) {
            $this->debug_msg(sprintf(
                'Start from server, version: %d.%d, properties: %s, mechanisms: %s, locales: %s',
                $version_major,
                $version_minor,
                MiscHelper::dump_table($server_properties),
                implode(', ', $mechanisms),
                implode(', ', $locales)
            ));
        }
    }
 
    /**
     * @param string $s
     */
    protected function print_msg($s) {
        echo $s . PHP_EOL;
    }
}