/** * @param $data * @param $routingKey * @param array $headers * @param int $delivery * @return Observable */ public function produce($data, $routingKey, $headers = [], $delivery = self::DELIVERY_DISK) { if ($delivery === self::DELIVERY_DISK) { $headers['delivery-mode'] = 2; } $promise = $this->channel->publish($this->serializer->serialize($data), $headers, $this->exchange, $routingKey); return \Rxnet\fromPromise($promise); }
public function reject($requeue = true) { $promise = $this->channel->reject($this->message, $requeue); return \Rxnet\fromPromise($promise); }
/** * Pop one element from the queue * @param $queue * @param bool $noAck * @return Observable */ public function get($queue, $noAck = false) { $promise = $this->channel->get($queue, $noAck); return \Rxnet\fromPromise($promise)->map(function (Message $message) { return new RabbitMessage($this->channel, $message, $this->serializer); }); }