All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mtons.spider.bucket.Bucket Maven / Gradle / Ivy

package mtons.spider.bucket;

import mtons.spider.http.Request;

import java.util.Collection;

/**
 * 任务存储
 * - 负责存储从页面分析而来的链接
 * - 可做多种实现, 如 优先级排序等
 *
 * Created by langhsu on 16/6/3.
 */
public interface Bucket {

    /**
     * 添加请求任务到队尾
     * @param request 请求任务
     */
    void push(Request request);

    /**
     * 添加多个请求任务到队尾
     * @param requests 任务列表
     */
    void push(Collection requests);

    /**
     * 从队列中获取任务
     * @return request 请求任务, 可能为 null
     */
    Request poll();

    /**
     * 判断队列中是否包含某任务
     * @param request 任务
     * @return boolean true 已存在/ false 不存在
     */
    boolean contains(Request request);

    /**
     * 判断队列是否为空
     * @return true/false
     */
    boolean isEmpty();

    /**
     * 查询队列大小
     * @return 队列大小
     */
    int size();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy