Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
java.nio.channels.Selector
java.nio.channels.spi.AbstractSelector
gnu.java.nio.SelectorImpl
public class SelectorImpl
extends AbstractSelector
Constructor Summary | |
|
Method Summary | |
protected void |
|
protected void |
|
Set |
|
protected SelectionKey |
|
protected SelectionKey |
|
int |
|
int |
|
int |
|
Set |
|
Selector |
|
Methods inherited from class java.nio.channels.spi.AbstractSelector | |
begin , cancelledKeys , close , deregister , end , implCloseSelector , isOpen , provider , register |
Methods inherited from class java.nio.channels.Selector | |
close , isOpen , keys , open , provider , select , select , selectNow , selectedKeys , wakeup |
Methods inherited from class java.lang.Object | |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
public SelectorImpl(SelectorProvider provider)
Initializes the slector.
- Parameters:
provider
- the provider that created this selector
protected void finalize() throws Throwable
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from thejava.lang.ref
package. Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simplysuper.finalize()
. finalize() will be called by aThread
that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work. If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed. It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again. Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically callssuper.finalize()
. The default implementation does nothing.
- Throws:
Throwable
- permits a subclass to throw anything in an overridden version; but the default throws nothing
- See Also:
System.gc()
,System.runFinalizersOnExit(boolean)
,java.lang.ref
protected final void implCloseSelector() throws IOException
Closes the channel.
- Overrides:
- implCloseSelector in interface AbstractSelector
- Throws:
IOException
- if an error occurs
public final Set keys()
Returns this selector's key set.
- Throws:
ClosedSelectorException
- If this selector is closed.
protected final SelectionKey register(AbstractSelectableChannel ch, int ops, Object att)
Registers a channel for the selection process.
- Overrides:
- register in interface AbstractSelector
- Parameters:
ch
- the channel registerops
- the interested operationsatt
- an attachement to the selection key
- Returns:
- the registered selection key
public final int select() throws IOException
Selects a set of keys whose corresponding channels are ready for I/O operations.
- Throws:
ClosedSelectorException
- If this selector is closed.IOException
- If an error occurs
public int select(long timeout) throws IOException
Selects a set of keys whose corresponding channels are ready for I/O operations.
- Parameters:
timeout
- The timeout to use.
- Throws:
ClosedSelectorException
- If this selector is closed.IllegalArgumentException
- If the timeout value is negative.IOException
- If an error occurs
public final int selectNow() throws IOException
Selects a set of keys whose corresponding channels are ready for I/O operations.
- Throws:
ClosedSelectorException
- If this selector is closed.IOException
- If an error occurs
public final Set selectedKeys()
Returns this selector's selected-key set.
- Overrides:
- selectedKeys in interface Selector
- Throws:
ClosedSelectorException
- If this selector is closed.