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
<?php
namespace PhpAmqpLib\Exception;
 
//TODO refactor usage of static methods
use PhpAmqpLib\Channel\AbstractChannel;
use PhpAmqpLib\Helper\MiscHelper;
 
/**
 * @deprecated use AMQPProtocolException instead
 */
class AMQPException extends \Exception
{
    /** @var string */
    public $amqp_reply_code;
 
    /** @var int */
    public $amqp_reply_text;
 
    /** @var \Exception */
    public $amqp_method_sig;
 
    /** @var array */
    public $args;
 
    /**
     * @param string $reply_code
     * @param int $reply_text
     * @param array $method_sig
     */
    public function __construct($reply_code, $reply_text, $method_sig)
    {
        parent::__construct($reply_text, $reply_code);
 
        $this->amqp_reply_code = $reply_code; // redundant, but kept for BC
        $this->amqp_reply_text = $reply_text; // redundant, but kept for BC
        $this->amqp_method_sig = $method_sig;
 
        $ms = MiscHelper::methodSig($method_sig);
        $protocolClass = AbstractChannel::$PROTOCOL_CONSTANTS_CLASS;
        $mn = isset($protocolClass::$GLOBAL_METHOD_NAMES[$ms])
            ? $protocolClass::$GLOBAL_METHOD_NAMES[$ms]
            : $mn = '';
 
        $this->args = array($reply_code, $reply_text, $method_sig, $mn);
    }
}