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.KqueueSelectorImpl
public class KqueueSelectorImpl
extends AbstractSelector
Selector
implementation that uses the kqueue
event notification facility.
Constructor Summary | |
|
Method Summary | |
boolean | |
protected void |
|
Set<E> |
|
static boolean |
|
protected SelectionKey |
|
int |
|
int |
|
int |
|
Set<E> |
|
String |
|
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 , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public KqueueSelectorImpl(SelectorProvider provider) throws IOException
Initializes the slector.
- Parameters:
provider
- the provider that created this selector
public boolean equals(Object o)
Determine whether this Object is semantically equal to another Object.There are some fairly strict requirements on this method which subclasses must follow:
- It must be transitive. If
a.equals(b)
andb.equals(c)
, thena.equals(c)
must be true as well.- It must be symmetric.
a.equals(b)
andb.equals(a)
must have the same value.- It must be reflexive.
a.equals(a)
must always be true.- It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
a.equals(null)
must be false.- It must be consistent with hashCode(). That is,
a.equals(b)
must implya.hashCode() == b.hashCode()
. The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.This is typically overridden to throw a
ClassCastException
if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal fora.equals(b)
to be true even thougha.getClass() != b.getClass()
. Also, it is typical to never cause aNullPointerException
.In general, the Collections API (
java.util
) use theequals
method rather than the==
operator to compare objects. However,IdentityHashMap
is an exception to this rule, for its own good reasons.The default implementation returns
this == o
.
- Parameters:
- Returns:
- whether this Object is semantically equal to another
- See Also:
Object.hashCode()
protected void implCloseSelector() throws IOException
Closes the channel.
- Overrides:
- implCloseSelector in interface AbstractSelector
- Throws:
IOException
- if an error occurs
public Set<E> keys()
Returns this selector's key set.
- Throws:
ClosedSelectorException
- If this selector is closed.
public static boolean kqueue_supported()
Tell if kqueue-based selectors are supported on this system.
- Returns:
- True if this system has kqueue support, and support for it was compiled in to Classpath.
protected SelectionKey register(AbstractSelectableChannel channel, int interestOps, Object attachment)
Registers a channel for the selection process.
- Overrides:
- register in interface AbstractSelector
- Parameters:
- Returns:
- the registered selection key
public 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 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 Set<E> selectedKeys()
Returns this selector's selected-key set.
- Overrides:
- selectedKeys in interface Selector
- Throws:
ClosedSelectorException
- If this selector is closed.
public String toString()
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it intoSystem.out.println()
and such.It is typical, but not required, to ensure that this method never completes abruptly with a
RuntimeException
.This method will be called when performing string concatenation with this object. If the result is
null
, string concatenation will instead use"null"
.The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode())
.
- Returns:
- the String representing this Object, which may be null
- See Also:
getClass()
,Object.hashCode()
,Class.getName()
,Integer.toHexString(int)