package com.kym.service.jobs;

/**
 * @author skyline
 * @description
 * @date 2023-10-08 21:41
 */
public interface DelayService<T> {
    /**
     * 添加延迟对象到延时队列
     *
     * @param delayedItem 延迟对象
     * @return boolean
     */
    boolean addToDelayQueue(DelayedItem<T> delayedItem);

    /**
     * 根据对象添加到指定延时队列
     *
     * @param data 数据对象
     * @return boolean
     */
    boolean addToDelayQueue(T data);

    /**
     * 移除指定的延迟对象从延时队列中
     *
     * @param id
     */
    boolean removeFromDelayQueue(Object id);

}
