/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.core.util.queue; import java.io.Serializable; import org.apache.commons.lang.NotImplementedException; /** * Internal queue interface that hold queue configuration that will execute operations directly to the queue storage. Stores * information about a Queue. */ public interface QueueStore { String getName(); void putNow(Serializable o) throws InterruptedException; boolean offer(Serializable o, int room, long timeout) throws InterruptedException; Serializable poll(long timeout) throws InterruptedException; Serializable peek() throws InterruptedException; void untake(Serializable item) throws InterruptedException; int getSize(); void clear() throws InterruptedException; void dispose(); int getCapacity(); void close(); boolean isPersistent(); }