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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309
|
<?php
/**
* stub class representing AMQPChannel from pecl-amqp
*/
class AMQPChannel
{
private AMQPConnection $connection;
private ?int $prefetchCount = null;
private ?int $prefetchSize;
private ?int $globalPrefetchCount;
private ?int $globalPrefetchSize;
private array $consumers = [];
/**
* Create an instance of an AMQPChannel object.
*
* @param AMQPConnection $connection An instance of AMQPConnection
* with an active connection to a
* broker.
*
* @throws AMQPConnectionException If the connection to the broker
* was lost.
*/
public function __construct(AMQPConnection $connection)
{
}
/**
* Commit a pending transaction.
*
* @throws AMQPChannelException If no transaction was started prior to
* calling this method.
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function commitTransaction(): void
{
}
/**
* Check the channel connection.
*
* @return bool Indicates whether the channel is connected.
*/
public function isConnected(): bool
{
}
/**
* Closes the channel.
*/
public function close(): void
{
}
/**
* Return internal channel ID
*
* @return integer
*/
public function getChannelId(): int
{
}
/**
* Set the Quality Of Service settings for the given channel.
*
* Specify the amount of data to prefetch in terms of window size (octets)
* or number of messages from a queue during a AMQPQueue::consume() or
* AMQPQueue::get() method call. The client will prefetch data up to size
* octets or count messages from the server, whichever limit is hit first.
* Setting either value to 0 will instruct the client to ignore that
* particular setting. A call to AMQPChannel::qos() will overwrite any
* values set by calling AMQPChannel::setPrefetchSize() and
* AMQPChannel::setPrefetchCount(). If the call to either
* AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
* flag set, the client will not do any prefetching of data, regardless of
* the QOS settings.
*
* @param integer $size The window size, in octets, to prefetch.
* @param integer $count The number of messages to prefetch.
* @param bool $global TRUE for global, FALSE for consumer. FALSE by default.
*
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function qos(int $size, int $count, bool $global = false): void
{
}
/**
* Rollback a transaction.
*
* Rollback an existing transaction. AMQPChannel::startTransaction() must
* be called prior to this.
*
* @throws AMQPChannelException If no transaction was started prior to
* calling this method.
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function rollbackTransaction(): void
{
}
/**
* Set the number of messages to prefetch from the broker for each consumer.
*
* Set the number of messages to prefetch from the broker during a call to
* AMQPQueue::consume() or AMQPQueue::get().
*
* @param integer $count The number of messages to prefetch.
*
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function setPrefetchCount(int $count): void
{
}
/**
* Get the number of messages to prefetch from the broker for each consumer.
*
* @return integer
*/
public function getPrefetchCount(): int
{
}
/**
* Set the window size to prefetch from the broker for each consumer.
*
* Set the prefetch window size, in octets, during a call to
* AMQPQueue::consume() or AMQPQueue::get(). Any call to this method will
* automatically set the prefetch message count to 0, meaning that the
* prefetch message count setting will be ignored. If the call to either
* AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
* flag set, this setting will be ignored.
*
* @param integer $size The window size, in octets, to prefetch.
*
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function setPrefetchSize(int $size): void
{
}
/**
* Get the window size to prefetch from the broker for each consumer.
*
* @return integer
*/
public function getPrefetchSize(): int
{
}
/**
* Set the number of messages to prefetch from the broker across all consumers.
*
* Set the number of messages to prefetch from the broker during a call to
* AMQPQueue::consume() or AMQPQueue::get().
*
* @param integer $count The number of messages to prefetch.
*
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function setGlobalPrefetchCount(int $count): void
{
}
/**
* Get the number of messages to prefetch from the broker across all consumers.
*
* @return integer
*/
public function getGlobalPrefetchCount(): int
{
}
/**
* Set the window size to prefetch from the broker for all consumers.
*
* Set the prefetch window size, in octets, during a call to
* AMQPQueue::consume() or AMQPQueue::get(). Any call to this method will
* automatically set the prefetch message count to 0, meaning that the
* prefetch message count setting will be ignored. If the call to either
* AMQPQueue::consume() or AMQPQueue::get() is done with the AMQP_AUTOACK
* flag set, this setting will be ignored.
*
* @param integer $size The window size, in octets, to prefetch.
*
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function setGlobalPrefetchSize(int $size): void
{
}
/**
* Get the window size to prefetch from the broker for all consumers.
*
* @return integer
*/
public function getGlobalPrefetchSize(): int
{
}
/**
* Start a transaction.
*
* This method must be called on the given channel prior to calling
* AMQPChannel::commitTransaction() or AMQPChannel::rollbackTransaction().
*
* @throws AMQPConnectionException If the connection to the broker was lost.
*/
public function startTransaction(): void
{
}
/**
* Get the AMQPConnection object in use
*/
public function getConnection(): AMQPConnection
{
}
/**
* Redeliver unacknowledged messages.
*/
public function basicRecover(bool $requeue = true): void
{
}
/**
* Set the channel to use publisher acknowledgements. This can only used on a non-transactional channel.
*/
public function confirmSelect(): void
{
}
/**
* Set callback to process basic.ack and basic.nac AMQP server methods (applicable when channel in confirm mode).
*
* Callback functions with all arguments have the following signature:
*
* function ack_callback(int $delivery_tag, bool $multiple) : bool;
* function nack_callback(int $delivery_tag, bool $multiple, bool $requeue) : bool;
*
* and should return boolean FALSE when wait loop should be canceled.
*
* Note, basic.nack server method will only be delivered if an internal error occurs in the Erlang process
* responsible for a queue (see https://www.rabbitmq.com/confirms.html for details).
*/
public function setConfirmCallback(?callable $ackCallback, callable $nackCallback = null): void
{
}
/**
* Wait until all messages published since the last call have been either ack'd or nack'd by the broker.
*
* Note, this method also catch all basic.return message from server.
*
* @param float $timeout Timeout in seconds. May be fractional.
*
* @throws AMQPQueueException If timeout occurs.
*/
public function waitForConfirm(float $timeout = 0.0): void
{
}
/**
* Set callback to process basic.return AMQP server method
*
* Callback function with all arguments has the following signature:
*
* function callback(int $reply_code,
* string $reply_text,
* string $exchange,
* string $routing_key,
* AMQPBasicProperties $properties,
* string $body) : bool;
*
* and should return boolean FALSE when wait loop should be canceled.
*/
public function setReturnCallback(?callable $returnCallback): void
{
}
/**
* Start wait loop for basic.return AMQP server methods
*
* @param float $timeout Timeout in seconds. May be fractional.
*
* @throws AMQPQueueException If timeout occurs.
*/
public function waitForBasicReturn(float $timeout = 0.0): void
{
}
/**
* Return array of current consumers where key is consumer and value is AMQPQueue consumer is running on
*
* @return AMQPQueue[]
*/
public function getConsumers(): array
{
}
}
|