io.undertow.util

## Class ConcurrentDirectDeque<E>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - io.undertow.util.ConcurrentDirectDeque<E>

All Implemented Interfaces:
  Serializable, Iterable<E>, Collection<E>, Deque<E>, Queue<E>

Direct Known Subclasses:
  FastConcurrentDirectDeque, PortableConcurrentDirectDeque

    public abstract class ConcurrentDirectDeque<E>
    extends AbstractCollection<E>
    implements Deque<E>, Serializable

A concurrent deque that allows direct item removal without traversal.

Author:
  Jason T. Greene
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ConcurrentDirectDeque()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`static <K> ConcurrentDirectDeque<K>` `newInstance()`
`abstract Object` `offerFirstAndReturnToken(E e)`
`abstract Object` `offerLastAndReturnToken(E e)`
`abstract void` `removeToken(Object token)`

### Methods inherited from class java.util.AbstractCollection

`add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Deque

`add, addFirst, addLast, contains, descendingIterator, element, getFirst, getLast, iterator, offer, offerFirst, offerLast, peek, peekFirst, peekLast, poll, pollFirst, pollLast, pop, push, remove, remove, removeFirst, removeFirstOccurrence, removeLast, removeLastOccurrence, size`

### Methods inherited from interface java.util.Collection

`addAll, clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray`

### Methods inherited from interface java.lang.Iterable

`forEach`

### Constructor Detail

#### ConcurrentDirectDeque

    public ConcurrentDirectDeque()

### Method Detail

#### newInstance

    public static <K> ConcurrentDirectDeque<K> newInstance()

#### offerFirstAndReturnToken

    public abstract Object offerFirstAndReturnToken(E e)

#### offerLastAndReturnToken

    public abstract Object offerLastAndReturnToken(E e)

#### removeToken

    public abstract void removeToken(Object token)