| 
 | org.codehaus.gpars | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectgroovyx.gpars.dataflow.impl.SelectBase
@java.lang.SuppressWarningsprivate final Collection> pendingRequests = new ArrayList >(); public final class SelectBase 
The implementation of the core for all selects.
| Field Summary | |
|---|---|
| private java.util.List | channels | 
| private boolean[] | disabledDFVsStores the input channel and registers for the wheneverBound() event on each | 
| private int | numberOfChannels | 
| private java.util.Collection | pendingRequests | 
| private java.util.Random | position | 
| Constructor Summary | |
| SelectBase(PGroup pGroup, java.util.List channels) | |
| Method Summary | |
|---|---|
| void | boundNotification(int index, SelectableChannel channel)Invoked by the SelectCallback instances, potentially concurrently to inform about new values being available for read from channels. | 
| private void | disableDFV(int currentPosition, SelectableChannel channel)Sets the flag in the disabledDFVs array, if the channel is a DFV | 
| void | doSelect(int startIndex, SelectRequest selectRequest)Invoked whenever the Select is asked for the next value. | 
| Methods inherited from class java.lang.Object | |
|---|---|
| java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() | 
| Field Detail | 
|---|
private final java.util.List channels
private final boolean[] disabledDFVs
pGroup -    The group, the thread pool of which should be used for notification message handlerschannels -  All the input channels to select on
private final int numberOfChannels
private final java.util.Collection pendingRequests
@java.lang.SuppressWarningsfinal SelectableChannel extends T> channel = channels.get(i); private final java.util.Random position
| Constructor Detail | 
|---|
public SelectBase(PGroup pGroup, java.util.List channels)
| Method Detail | 
|---|
@java.lang.SuppressWarnings void boundNotification(int index, SelectableChannel channel)
index -    The index of the ready channelchannel -  The channel itself
private void disableDFV(int currentPosition, SelectableChannel channel)
currentPosition -  The position to markchannel -          The channel being considered
public void doSelect(int startIndex, SelectRequest selectRequest)
startIndex -     The index of the channel to check first for available messages, -1 if start at a random position. Continue scanning by increasing the index, once the size is reached start from 0.selectRequest -  The request that holds the guards and expects a notification once a value is selected
Copyright © 2008–2013 Václav Pech. All Rights Reserved.