01 package org.apache.qpid.util.concurrent;
02 /*
03 *
04 * Licensed to the Apache Software Foundation (ASF) under one
05 * or more contributor license agreements. See the NOTICE file
06 * distributed with this work for additional information
07 * regarding copyright ownership. The ASF licenses this file
08 * to you under the Apache License, Version 2.0 (the
09 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 *
21 */
22
23
24 import java.util.Queue;
25
26 /**
27 * SynchBuffer completes the {@link BatchSynchQueueBase} abstract class by providing an implementation of the underlying
28 * queue as an array. This uses FIFO ordering for the queue but restricts the maximum size of the queue to a fixed
29 * amount. It also has the advantage that, as the buffer does not grow and shrink dynamically, memory for the buffer
30 * is allocated up front and does not create garbage during the operation of the queue.
31 *
32 * <p/><table id="crc"><caption>CRC Card</caption>
33 * <tr><th> Responsibilities <th> Collaborations
34 * <tr><td> Provide array based FIFO queue to create a batch synched queue around.
35 * </table>
36 *
37 * @todo Write an array based buffer implementation that implements Queue.
38 */
39 public class SynchBuffer<E> extends BatchSynchQueueBase<E>
40 {
41 /**
42 * Returns an empty queue, implemented as an array.
43 *
44 * @return An empty queue, implemented as an array.
45 */
46 protected <T> Queue<T> createQueue()
47 {
48 throw new RuntimeException("Not implemented.");
49 }
50 }
|