<?php

namespace xmvc\libQueue;

use xmvc\libQueue\QueueJob;

class RabbitMQ implements InterfaceQueue
{
    /**
     * 构造
     */
    public function __construct()
    {
        ;
    }
    /**
     * 初始化
     *
     * @param string $tubeName 管道名称
     * @param boolean $persist 是否持久化(将入库)
     * @param boolean $multiTasking 是否支持多任务消费(将入库)
     */
    public function init(string $tubeName, bool $persist, bool $multiTasking): self
    {
        return $this;
    }
    /**
     * 将任务数据加入队列
     */
    public function put(array $data): self
    {
        return $this;
    }

    /**
     * 获取任务
     *
     * @return QueueJob
     */
    public function reserve(): QueueJob
    {
        return new QueueJob();
    }
    /**
     * 保持活动
     */
    public function touch(QueueJob $job): void
    {
        ;
    }

    /**
     * 删除任务
     */
    public function delete(QueueJob $job): void
    {
        ;
    }

    /**
     * 释放一个任务回到队列中
     */
    public function release(QueueJob $job): void
    {
        ;
    }

    /**
     * 队列状态信息
     *
     * @return array
     */
    public function status(): array
    {
        return [];
    }
}
