// Path: AMQPPerfHarness/src/com/ibm/uk/hursley/perfharness/amqp/AMQPWorkerThread.java
// public static class AMQPException extends Exception {
// 	private static final long serialVersionUID = 1L;
// 
// 	/**
// 	 * @param message
// 	 */
// 	public AMQPException(final String message) {
// 		super(message);
// 	}
// 		
// 	/**
// 	 * @param message
// 	 * @param cause
// 	 */
// 	public AMQPException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// }


import java.util.HashMap;
import java.util.concurrent.LinkedBlockingDeque;
import com.ibm.mqlight.api.Delivery;
import com.ibm.uk.hursley.perfharness.amqp.AMQPWorkerThread.AMQPException;

/********************************************************* {COPYRIGHT-TOP} ***
* Copyright 2016 IBM Corporation
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the MIT License
* which accompanies this distribution, and is available at
* http://opensource.org/licenses/MIT
********************************************************** {COPYRIGHT-END} **/
package com.ibm.uk.hursley.perfharness.amqp.utils;



/**
 * @author ElliotGregory
 * 
 * Outer class to contain the various sub classes for the FIFO facility.
 *
 */
public class FIFO {

	/**
	 * @author ElliotGregory
	 *
	 */
	public static class FIFODelivery extends FIFOAbs {
		public FIFODelivery(final String reference) {
			super(reference);
		}

		/**
		 * Insert an item into the FIFO
		 * 
		 * @param delivery
		 */
		public void put(final Delivery delivery) {
			super.put(delivery);
		}

		/**
		 * Removes a delivery message from the FIFO
		 * 
		 * @return a delivery or null if exception.
		 * @throws AMQPException 
		 *
		 */

// Path: AMQPPerfHarness/src/com/ibm/uk/hursley/perfharness/amqp/AMQPWorkerThread.java
// public static class AMQPException extends Exception {
// 	private static final long serialVersionUID = 1L;
// 
// 	/**
// 	 * @param message
// 	 */
// 	public AMQPException(final String message) {
// 		super(message);
// 	}
// 		
// 	/**
// 	 * @param message
// 	 * @param cause
// 	 */
// 	public AMQPException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// }


// Path: AMQPPerfHarness/src/com/ibm/uk/hursley/perfharness/amqp/utils/FIFO.java
import java.util.HashMap;
import java.util.concurrent.LinkedBlockingDeque;
import com.ibm.mqlight.api.Delivery;
import com.ibm.uk.hursley.perfharness.amqp.AMQPWorkerThread.AMQPException;

/********************************************************* {COPYRIGHT-TOP} ***
* Copyright 2016 IBM Corporation
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the MIT License
* which accompanies this distribution, and is available at
* http://opensource.org/licenses/MIT
********************************************************** {COPYRIGHT-END} **/
package com.ibm.uk.hursley.perfharness.amqp.utils;



/**
 * @author ElliotGregory
 * 
 * Outer class to contain the various sub classes for the FIFO facility.
 *
 */
public class FIFO {

	/**
	 * @author ElliotGregory
	 *
	 */
	public static class FIFODelivery extends FIFOAbs {
		public FIFODelivery(final String reference) {
			super(reference);
		}

		/**
		 * Insert an item into the FIFO
		 * 
		 * @param delivery
		 */
		public void put(final Delivery delivery) {
			super.put(delivery);
		}

		/**
		 * Removes a delivery message from the FIFO
		 * 
		 * @return a delivery or null if exception.
		 * @throws AMQPException 
		 *
		 */

		public Delivery get() throws AMQPException {
