-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathResult.php
More file actions
130 lines (109 loc) Β· 2.31 KB
/
Result.php
File metadata and controls
130 lines (109 loc) Β· 2.31 KB
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?php
namespace Enqueue\Consumption;
use Interop\Queue\Message as InteropMessage;
use Interop\Queue\Processor;
class Result
{
/**
* @see Processor::ACK for more details
*/
public const ACK = Processor::ACK;
/**
* @see Processor::REJECT for more details
*/
public const REJECT = Processor::REJECT;
/**
* @see Processor::REQUEUE for more details
*/
public const REQUEUE = Processor::REQUEUE;
public const ALREADY_ACKNOWLEDGED = 'enqueue.already_acknowledged';
/**
* @var string
*/
private $status;
/**
* @var string
*/
private $reason;
/**
* @var InteropMessage|null
*/
private $reply;
public function __construct($status, $reason = '')
{
$this->status = (string) $status;
$this->reason = (string) $reason;
}
/**
* @return string
*/
public function __toString()
{
return $this->status;
}
/**
* @return string
*/
public function getStatus()
{
return $this->status;
}
/**
* @return string
*/
public function getReason()
{
return $this->reason;
}
/**
* @return InteropMessage|null
*/
public function getReply()
{
return $this->reply;
}
public function setReply(?InteropMessage $reply = null)
{
$this->reply = $reply;
}
/**
* @param string $reason
*
* @return static
*/
public static function ack($reason = '')
{
return new self(self::ACK, $reason);
}
/**
* @param string $reason
*
* @return static
*/
public static function reject($reason)
{
return new self(self::REJECT, $reason);
}
/**
* @param string $reason
*
* @return static
*/
public static function requeue($reason = '')
{
return new self(self::REQUEUE, $reason);
}
/**
* @param string $status
* @param string|null $reason
*
* @return static
*/
public static function reply(InteropMessage $replyMessage, $status = self::ACK, $reason = null)
{
$status = null === $status ? self::ACK : $status;
$result = new self($status, $reason);
$result->setReply($replyMessage);
return $result;
}
}