org.jnetpcap.util
Class BlockingQueuePump<T>

java.lang.Object
  extended by org.jnetpcap.util.BlockingQueuePump<T>
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Collection<T>, java.util.concurrent.BlockingQueue<T>, java.util.Queue<T>

public abstract class BlockingQueuePump<T>
extends java.lang.Object
implements java.util.concurrent.BlockingQueue<T>

Author:
Mark Bednarczyk, Sly Technologies, Inc.

Field Summary
 java.lang.Runnable dispatchQueue
           
 
Constructor Summary
BlockingQueuePump(java.lang.String name)
          Unlimited capacity queue.
BlockingQueuePump(java.lang.String name, int capacity)
          A limited in capacity queue.
 
Method Summary
 boolean add(T o)
           
 boolean addAll(java.util.Collection<? extends T> c)
           
 void clear()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection<?> c)
           
protected abstract  void dispatch(T data)
           
 int drainTo(java.util.Collection<? super T> c)
           
 int drainTo(java.util.Collection<? super T> c, int maxElements)
           
 T element()
           
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 boolean isAlive()
           
 boolean isEmpty()
           
 java.util.Iterator<T> iterator()
           
 boolean offer(T o)
           
 boolean offer(T o, long timeout, java.util.concurrent.TimeUnit unit)
           
 T peek()
           
 T poll()
           
 T poll(long timeout, java.util.concurrent.TimeUnit unit)
           
 void put(T o)
           
 int remainingCapacity()
           
 T remove()
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection<?> c)
           
 boolean retainAll(java.util.Collection<?> c)
           
 int size()
           
 void start()
           
 void stop()
           
 T take()
           
 java.lang.Object[] toArray()
           
<Q> Q[]
toArray(Q[] a)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dispatchQueue

public java.lang.Runnable dispatchQueue
Constructor Detail

BlockingQueuePump

public BlockingQueuePump(java.lang.String name)
Unlimited capacity queue.

Parameters:
name - name to use for the worker thread

BlockingQueuePump

public BlockingQueuePump(java.lang.String name,
                         int capacity)
A limited in capacity queue.

Parameters:
name - name to use for the workder thread
capacity - maximum capacity of the queue
Method Detail

add

public boolean add(T o)
Specified by:
add in interface java.util.Collection<T>
Specified by:
add in interface java.util.concurrent.BlockingQueue<T>

addAll

public boolean addAll(java.util.Collection<? extends T> c)
Specified by:
addAll in interface java.util.Collection<T>

clear

public void clear()
Specified by:
clear in interface java.util.Collection<T>

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.Collection<T>

containsAll

public boolean containsAll(java.util.Collection<?> c)
Specified by:
containsAll in interface java.util.Collection<T>

dispatch

protected abstract void dispatch(T data)

drainTo

public int drainTo(java.util.Collection<? super T> c)
Specified by:
drainTo in interface java.util.concurrent.BlockingQueue<T>

drainTo

public int drainTo(java.util.Collection<? super T> c,
                   int maxElements)
Specified by:
drainTo in interface java.util.concurrent.BlockingQueue<T>

element

public T element()
Specified by:
element in interface java.util.Queue<T>

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface java.util.Collection<T>
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection<T>
Overrides:
hashCode in class java.lang.Object

isAlive

public boolean isAlive()

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<T>

iterator

public java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>
Specified by:
iterator in interface java.util.Collection<T>

offer

public boolean offer(T o)
Specified by:
offer in interface java.util.concurrent.BlockingQueue<T>
Specified by:
offer in interface java.util.Queue<T>

offer

public boolean offer(T o,
                     long timeout,
                     java.util.concurrent.TimeUnit unit)
              throws java.lang.InterruptedException
Specified by:
offer in interface java.util.concurrent.BlockingQueue<T>
Throws:
java.lang.InterruptedException

peek

public T peek()
Specified by:
peek in interface java.util.Queue<T>

poll

public T poll()
Specified by:
poll in interface java.util.Queue<T>

poll

public T poll(long timeout,
              java.util.concurrent.TimeUnit unit)
       throws java.lang.InterruptedException
Specified by:
poll in interface java.util.concurrent.BlockingQueue<T>
Throws:
java.lang.InterruptedException

put

public void put(T o)
         throws java.lang.InterruptedException
Specified by:
put in interface java.util.concurrent.BlockingQueue<T>
Throws:
java.lang.InterruptedException

remainingCapacity

public int remainingCapacity()
Specified by:
remainingCapacity in interface java.util.concurrent.BlockingQueue<T>

remove

public T remove()
Specified by:
remove in interface java.util.Queue<T>

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection<T>

removeAll

public boolean removeAll(java.util.Collection<?> c)
Specified by:
removeAll in interface java.util.Collection<T>

retainAll

public boolean retainAll(java.util.Collection<?> c)
Specified by:
retainAll in interface java.util.Collection<T>

size

public int size()
Specified by:
size in interface java.util.Collection<T>

start

public void start()

stop

public void stop()

take

public T take()
       throws java.lang.InterruptedException
Specified by:
take in interface java.util.concurrent.BlockingQueue<T>
Throws:
java.lang.InterruptedException

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<T>

toArray

public <Q> Q[] toArray(Q[] a)
Specified by:
toArray in interface java.util.Collection<T>