Package org.jctools.channels
Interface Channel<E>
-
- Type Parameters:
E- element type
- All Known Implementing Classes:
MpscChannel,SpscChannel
public interface Channel<E>A minimal top level queue interface which allows producer/consumers access via separate interfaces. Channels may determine their capacity themselves with additional slack or resize themselves as powers of two etc. Consequently instead of having a definite concept of a "capacity" channels have a requested capacity and a maximum capacity. The requested capacity is the capacity requested when you create the channel and the maximum capacity is the size that the channel has resized itself up to.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ChannelConsumerconsumer(ChannelReceiver<E> callback)booleanisEmpty()intmaximumCapacity()ChannelProducer<E>producer()intrequestedCapacity()intsize()Get the number of elements in the queue.
-
-
-
Method Detail
-
consumer
ChannelConsumer consumer(ChannelReceiver<E> callback)
- Parameters:
callback- the accept function for this consumer- Returns:
- a consumer instance to be used for this particular thread.
-
producer
ChannelProducer<E> producer()
- Returns:
- a producer instance to be used for this particular thread.
-
size
int size()
Get the number of elements in the queue.- Returns:
- the number of elements in the queue.
-
maximumCapacity
int maximumCapacity()
- Returns:
- the maximum number of elements that can fit in this channel.
-
requestedCapacity
int requestedCapacity()
- Returns:
- The requested maximum number of elements that can fit in this channel.
-
isEmpty
boolean isEmpty()
-
-