|
NIO2 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.classpath.icedtea.java.nio.channels.MembershipKey
public abstract class MembershipKey
A token representing the membership of an Internet Protocol (IP) multicast group.
A membership key may represent a membership to receive all datagrams sent
to the group, or it may be source-specific, meaning that it
represents a membership that receives only datagrams from a specific source
address. Whether or not a membership key is source-specific may be determined
by invoking its sourceAddress
method.
A membership key is valid upon creation and remains valid until the
membership is dropped by invoking the drop
method, or
the channel is closed. The validity of the membership key may be tested
by invoking its isValid
method.
Where a membership key is not source-specific and the underlying operation
system supports source filtering, then the block
and unblock
methods can be used to block or unblock multicast datagrams
from particular source addresses.
MulticastChannel
Constructor Summary | |
---|---|
protected |
MembershipKey()
Initializes a new instance of this class. |
Method Summary | |
---|---|
abstract MembershipKey |
block(java.net.InetAddress source)
Block multicast datagrams from the given source address. |
abstract MulticastChannel |
channel()
Returns the channel for which this membership key was created. |
abstract void |
drop()
Drop membership. |
abstract java.net.InetAddress |
group()
Returns the multicast group for which this membership key was created. |
abstract boolean |
isValid()
Tells whether or not this membership is valid. |
abstract java.net.NetworkInterface |
networkInterface()
Returns the network interface for which this membership key was created. |
abstract java.net.InetAddress |
sourceAddress()
Returns the source address if this membership key is source-specific, or null if this membership is not source-specific. |
abstract MembershipKey |
unblock(java.net.InetAddress source)
Unblock multicast datagrams from the given source address that was previously blocked using the block method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected MembershipKey()
Method Detail |
---|
public abstract boolean isValid()
A multicast group membership is valid upon creation and remains
valid until the membership is dropped by invoking the drop
method, or the channel is closed.
true
if this membership key is valid, false
otherwisepublic abstract void drop() throws java.io.IOException
If the membership key represents a membership to receive all datagrams then the membership is dropped and the channel will no longer receive any datagrams sent to the group. If the membership key is source-specific then the channel will no longer receive datagrams sent to the group from that source address.
After membership is dropped it may still be possible to receive
datagrams sent to the group. This can arise when datagrams are waiting to
be received in the socket's receive buffer. After membership is dropped
then the channel may join
the group again
in which case a new membership key is returned.
Upon return, this membership object will be invalid
.
If the multicast group membership is already invalid then invoking this
method has no effect. Once a multicast group membership is invalid,
it remains invalid forever.
java.io.IOException
- If an I/O error occurspublic abstract MembershipKey block(java.net.InetAddress source) throws java.io.IOException
If this membership key is not source-specific, and the underlying operating system supports source filtering, then this method blocks multicast datagrams from the given source address. If the given source address is already blocked then this method has no effect. After a source address is blocked it may still be possible to receive datagams from that source. This can arise when datagrams are waiting to be received in the socket's receive buffer.
source
- The source address to block
java.lang.IllegalArgumentException
- If the source
parameter is not a unicast address or
is not the same address type as the multicast group
java.lang.IllegalStateException
- If this membership key is source-specific or is no longer valid
java.lang.UnsupportedOperationException
- If the underlying operating system does not support source
filtering
java.io.IOException
- If an I/O error occurspublic abstract MembershipKey unblock(java.net.InetAddress source) throws java.io.IOException
block
method.
source
- The source address to unblock
java.lang.IllegalStateException
- If the given source address is not currently blocked or the
membership key is no longer valid
java.io.IOException
- If an I/O error occurspublic abstract MulticastChannel channel()
invalid
.
public abstract java.net.InetAddress group()
invalid
.
public abstract java.net.NetworkInterface networkInterface()
invalid
.
public abstract java.net.InetAddress sourceAddress()
null
if this membership is not source-specific.
null
|
NIO2 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2010 Sun Microsystems, Inc. All rights reserved. Use is subject to the terms of the GNU General Public License.