Class NioDatagramChannel

java.lang.Object
org.jboss.netty.channel.AbstractChannel
org.jboss.netty.channel.socket.nio.NioDatagramChannel
All Implemented Interfaces:
Comparable<Channel>, Channel, DatagramChannel

public class NioDatagramChannel extends AbstractChannel implements DatagramChannel
Provides an NIO based DatagramChannel.
  • Method Details

    • getWorker

      public NioDatagramWorker getWorker()
      Return the AbstractNioWorker that handle the IO of the AbstractNioChannel
      Returns:
      worker
    • isBound

      public boolean isBound()
      Description copied from interface: Channel
      Returns true if and only if this channel is bound to a local address.
      Specified by:
      isBound in interface Channel
    • isConnected

      public boolean isConnected()
      Description copied from interface: Channel
      Returns true if and only if this channel is connected to a remote address.
      Specified by:
      isConnected in interface Channel
    • setClosed

      protected boolean setClosed()
      Description copied from class: AbstractChannel
      Marks this channel as closed. This method is intended to be called by an internal component - please do not call it unless you know what you are doing.
      Returns:
      true if and only if this channel was not marked as closed yet
    • getConfig

      public NioDatagramChannelConfig getConfig()
      Description copied from interface: Channel
      Returns the configuration of this channel.
      Specified by:
      getConfig in interface Channel
      Specified by:
      getConfig in interface DatagramChannel
    • joinGroup

      public ChannelFuture joinGroup(InetAddress multicastAddress)
      Description copied from interface: DatagramChannel
      Joins a multicast group.
      Specified by:
      joinGroup in interface DatagramChannel
    • joinGroup

      public ChannelFuture joinGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface)
      Description copied from interface: DatagramChannel
      Joins the specified multicast group at the specified interface.
      Specified by:
      joinGroup in interface DatagramChannel
    • joinGroup

      public ChannelFuture joinGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source)
      Joins the specified multicast group at the specified interface using the specified source.
    • leaveGroup

      public ChannelFuture leaveGroup(InetAddress multicastAddress)
      Description copied from interface: DatagramChannel
      Leaves a multicast group.
      Specified by:
      leaveGroup in interface DatagramChannel
    • leaveGroup

      public ChannelFuture leaveGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface)
      Description copied from interface: DatagramChannel
      Leaves a multicast group on a specified local interface.
      Specified by:
      leaveGroup in interface DatagramChannel
    • leaveGroup

      public ChannelFuture leaveGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source)
      Leave the specified multicast group at the specified interface using the specified source.
    • block

      public ChannelFuture block(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress sourceToBlock)
      Block the given sourceToBlock address for the given multicastAddress on the given networkInterface
    • block

      public ChannelFuture block(InetAddress multicastAddress, InetAddress sourceToBlock)
      Block the given sourceToBlock address for the given multicastAddress
    • write

      public ChannelFuture write(Object message, SocketAddress remoteAddress)
      Description copied from interface: Channel
      Sends a message to this channel asynchronously. It has an additional parameter that allows a user to specify where to send the specified message instead of this channel's current remote address. If this channel was created by a connectionless transport (e.g. DatagramChannel) and is not connected yet, you must specify non-null address. Otherwise, the write request will fail with NotYetConnectedException and an 'exceptionCaught' event will be triggered.
      Specified by:
      write in interface Channel
      Overrides:
      write in class AbstractChannel
      Parameters:
      message - the message to write
      remoteAddress - where to send the specified message. This method is identical to Channel.write(Object) if null is specified here.
      Returns:
      the ChannelFuture which will be notified when the write request succeeds or fails
    • getLocalAddress

      public InetSocketAddress getLocalAddress()
      Description copied from interface: Channel
      Returns the local address where this channel is bound to. The returned SocketAddress is supposed to be down-cast into more concrete type such as InetSocketAddress to retrieve the detailed information.
      Returns:
      the local address of this channel. null if this channel is not bound.
    • getRemoteAddress

      public InetSocketAddress getRemoteAddress()
      Description copied from interface: Channel
      Returns the remote address where this channel is connected to. The returned SocketAddress is supposed to be down-cast into more concrete type such as InetSocketAddress to retrieve the detailed information.
      Returns:
      the remote address of this channel. null if this channel is not connected. If this channel is not connected but it can receive messages from arbitrary remote addresses (e.g. DatagramChannel, use MessageEvent.getRemoteAddress() to determine the origination of the received message as this method will return null.
    • getInternalInterestOps

      protected int getInternalInterestOps()
      Overrides:
      getInternalInterestOps in class AbstractChannel
    • setInternalInterestOps

      protected void setInternalInterestOps(int interestOps)
      Description copied from class: AbstractChannel
      Sets the interestOps property of this channel immediately. This method is intended to be called by an internal component - please do not call it unless you know what you are doing.
      Overrides:
      setInternalInterestOps in class AbstractChannel