You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2008/05/22 11:11:28 UTC
svn commit: r659056 - in
/mina/branches/buffer/core/src/main/java/org/apache/mina/queue:
ConcurrentLinkedIoQueue.java IoQueueWrapper.java SynchronizedIoQueue.java
Author: trustin
Date: Thu May 22 02:11:27 2008
New Revision: 659056
URL: http://svn.apache.org/viewvc?rev=659056&view=rev
Log:
* Added ConcurrentLinkedIoQueue
* Fixed compilation errors
Added:
mina/branches/buffer/core/src/main/java/org/apache/mina/queue/ConcurrentLinkedIoQueue.java (with props)
Modified:
mina/branches/buffer/core/src/main/java/org/apache/mina/queue/IoQueueWrapper.java
mina/branches/buffer/core/src/main/java/org/apache/mina/queue/SynchronizedIoQueue.java
Added: mina/branches/buffer/core/src/main/java/org/apache/mina/queue/ConcurrentLinkedIoQueue.java
URL: http://svn.apache.org/viewvc/mina/branches/buffer/core/src/main/java/org/apache/mina/queue/ConcurrentLinkedIoQueue.java?rev=659056&view=auto
==============================================================================
--- mina/branches/buffer/core/src/main/java/org/apache/mina/queue/ConcurrentLinkedIoQueue.java (added)
+++ mina/branches/buffer/core/src/main/java/org/apache/mina/queue/ConcurrentLinkedIoQueue.java Thu May 22 02:11:27 2008
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.mina.queue;
+
+import java.util.Iterator;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+/**
+ * An {@link IoQueue} which uses a {@link ConcurrentLinkedQueue} as its
+ * backing storage.
+ *
+ * @author The Apache MINA project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ *
+ * @param <E> the type of this queue's elements
+ */
+public class ConcurrentLinkedIoQueue<E> extends AbstractIoQueue<E> {
+
+ private final Queue<E> q = new ConcurrentLinkedQueue<E>();
+
+ public E peek() {
+ return q.peek();
+ }
+
+ @Override
+ public Iterator<E> iterator() {
+ return q.iterator();
+ }
+
+ @Override
+ public int size() {
+ return q.size();
+ }
+
+ @Override
+ public Object[] toArray() {
+ return q.toArray();
+ }
+
+ @Override
+ public <T> T[] toArray(T[] a) {
+ return q.toArray(a);
+ }
+
+ @Override
+ protected void doOffer(E e) {
+ q.offer(e);
+ }
+
+ @Override
+ protected E doPoll() {
+ return q.poll();
+ }
+}
Propchange: mina/branches/buffer/core/src/main/java/org/apache/mina/queue/ConcurrentLinkedIoQueue.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: mina/branches/buffer/core/src/main/java/org/apache/mina/queue/ConcurrentLinkedIoQueue.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: mina/branches/buffer/core/src/main/java/org/apache/mina/queue/IoQueueWrapper.java
URL: http://svn.apache.org/viewvc/mina/branches/buffer/core/src/main/java/org/apache/mina/queue/IoQueueWrapper.java?rev=659056&r1=659055&r2=659056&view=diff
==============================================================================
--- mina/branches/buffer/core/src/main/java/org/apache/mina/queue/IoQueueWrapper.java (original)
+++ mina/branches/buffer/core/src/main/java/org/apache/mina/queue/IoQueueWrapper.java Thu May 22 02:11:27 2008
@@ -129,10 +129,6 @@
return q.toString();
}
- public E element(int index) {
- return q.element(index);
- }
-
public void addListener(IoQueueListener<? super E> listener) {
q.addListener(listener);
}
Modified: mina/branches/buffer/core/src/main/java/org/apache/mina/queue/SynchronizedIoQueue.java
URL: http://svn.apache.org/viewvc/mina/branches/buffer/core/src/main/java/org/apache/mina/queue/SynchronizedIoQueue.java?rev=659056&r1=659055&r2=659056&view=diff
==============================================================================
--- mina/branches/buffer/core/src/main/java/org/apache/mina/queue/SynchronizedIoQueue.java (original)
+++ mina/branches/buffer/core/src/main/java/org/apache/mina/queue/SynchronizedIoQueue.java Thu May 22 02:11:27 2008
@@ -144,11 +144,6 @@
}
@Override
- public synchronized E element(int index) {
- return super.element(index);
- }
-
- @Override
public synchronized void addListener(IoQueueListener<? super E> listener) {
super.addListener(listener);
}