Class UDPNIOConnection

java.lang.Object
org.glassfish.grizzly.nio.NIOConnection
org.glassfish.grizzly.nio.transport.UDPNIOConnection
All Implemented Interfaces:
AttributeStorage, Closeable, Connection<SocketAddress>, MonitoringAware<ConnectionProbe>, OutputSink, Readable<SocketAddress>, Writeable<SocketAddress>
Direct Known Subclasses:
UDPNIOServerConnection

public class UDPNIOConnection extends NIOConnection
Connection implementation for the UDPNIOTransport
Author:
Alexey Stashok
  • Constructor Details

  • Method Details

    • isConnected

      public boolean isConnected()
    • join

      public void join(InetAddress group, NetworkInterface networkInterface) throws IOException
      Joins a multicast group to begin receiving all datagrams sent to the group. If this connection is currently a member of the group on the given interface to receive all datagrams then this method call has no effect. Otherwise this connection joins the requested group and channel's membership in not source-specific. A multicast connection may join several multicast groups, including the same group on more than one interface. An implementation may impose a limit on the number of groups that may be joined at the same time.
      Parameters:
      group - The multicast address to join
      networkInterface - The network interface on which to join the group
      Throws:
      IOException
    • join

      public void join(InetAddress group, NetworkInterface networkInterface, InetAddress source) throws IOException
      Joins a multicast group to begin receiving datagrams sent to the group from a given source address. If this connection is currently a member of the group on the given interface to receive datagrams from the given source address then this method call has no effect. Otherwise this connection joins the group and depending on the source parameter value (whether it's not null or null value) the connection's membership is or is not source-specific. Membership is cumulative and this method may be invoked again with the same group and interface to allow receiving datagrams sent by other source addresses to the group.
      Parameters:
      group - The multicast address to join
      networkInterface - The network interface on which to join the group
      source - The source address
      Throws:
      IOException
    • drop

      public void drop(InetAddress group, NetworkInterface networkInterface) throws IOException
      Drops non-source specific membership in a multicast group. If this connection doesn't have non-source specific membership in the group on the given interface to receive datagrams then this method call has no effect. Otherwise this connection drops the group membership.
      Parameters:
      group - The multicast address to join
      networkInterface - The network interface on which to join the group
      Throws:
      IOException
    • drop

      public void drop(InetAddress group, NetworkInterface networkInterface, InetAddress source) throws IOException
      Drops membership in a multicast group. If the source parameter is null - this method call is equivalent to drop(java.net.InetAddress, java.net.NetworkInterface). If the source parameter is not null and this connection doesn't have source specific membership in the group on the given interface to receive datagrams then this method call has no effect. Otherwise this connection drops the source specific group membership.
      Parameters:
      group - The multicast address to join
      networkInterface - The network interface on which to join the group
      source - The source address
      Throws:
      IOException
    • dropAll

      public void dropAll(InetAddress group, NetworkInterface networkInterface) throws IOException
      Drops all active membership in a multicast group. If this connection doesn't have any type of membership in the group on the given interface to receive datagrams then this method call has no effect. Otherwise this connection drops all types of the group membership.
      Parameters:
      group - The multicast address to join
      networkInterface - The network interface on which to join the group
      Throws:
      IOException
    • block

      public void block(InetAddress group, NetworkInterface networkInterface, InetAddress source) throws IOException
      Blocks multicast datagrams from the given source address. If this connection has non-source specific membership in the group on the given interface 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.
      Parameters:
      group - The multicast address to join
      networkInterface - The network interface on which to join the group
      source - The source address to block
      Throws:
      IOException
    • unblock

      public void unblock(InetAddress group, NetworkInterface networkInterface, InetAddress source) throws IOException
      Unblocks multicast datagrams from the given source address. If this connection has non-source specific membership in the group on the given interface and specified source address was previously blocked using block(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) method then this method unblocks multicast datagrams from the given source address. If the given source address wasn't blocked then this method has no effect.
      Parameters:
      group - The multicast address to join
      networkInterface - The network interface on which to join the group
      source - The source address to block
      Throws:
      IOException
    • setSelectionKey

      protected void setSelectionKey(SelectionKey selectionKey)
      Overrides:
      setSelectionKey in class NIOConnection
    • setSelectorRunner

      protected void setSelectorRunner(SelectorRunner selectorRunner)
      Overrides:
      setSelectorRunner in class NIOConnection
    • notifyReady

      protected boolean notifyReady()
    • getPeerAddress

      public SocketAddress getPeerAddress()
      Returns the address of the endpoint this Connection is connected to, or null if it is unconnected.
      Returns:
      the address of the endpoint this Connection is connected to, or null if it is unconnected.
    • getLocalAddress

      public SocketAddress getLocalAddress()
      Returns the local address of this Connection, or null if it is unconnected.
      Returns:
      the local address of this Connection, or null if it is unconnected.
    • resetProperties

      protected final void resetProperties()
    • getReadBufferSize

      public int getReadBufferSize()
      Get the default size of Buffers, which will be allocated for reading data from Connection. The value less or equal to zero will be ignored.
      Returns:
      the default size of Buffers, which will be allocated for reading data from Connection.
    • setReadBufferSize

      public void setReadBufferSize(int readBufferSize)
      Set the default size of Buffers, which will be allocated for reading data from Connection. The value less or equal to zero will be ignored.
      Parameters:
      readBufferSize - the default size of Buffers, which will be allocated for reading data from Connection.
    • getWriteBufferSize

      public int getWriteBufferSize()
      Get the default size of Buffers, which will be allocated for writing data to Connection.
      Returns:
      the default size of Buffers, which will be allocated for writing data to Connection.
    • setWriteBufferSize

      public void setWriteBufferSize(int writeBufferSize)
      Set the default size of Buffers, which will be allocated for writing data to Connection.
      Parameters:
      writeBufferSize - the default size of Buffers, which will be allocated for writing data to Connection.
    • enableInitialOpRead

      protected void enableInitialOpRead() throws IOException
      Description copied from class: NIOConnection
      Enables OP_READ if it has never been enabled before.
      Overrides:
      enableInitialOpRead in class NIOConnection
      Throws:
      IOException
    • onConnect

      protected final void onConnect() throws IOException
      Method will be called, when the connection gets connected.
      Throws:
      IOException
    • onRead

      protected final void onRead(Buffer data, int size)
      Method will be called, when some data was read on the connection
    • onWrite

      protected final void onWrite(Buffer data, int size)
      Method will be called, when some data was written on the connection
    • canWrite

      public boolean canWrite()
      Returns:
      true if a write to this OutputSink will succeed, otherwise returns false.
    • canWrite

      @Deprecated public boolean canWrite(int length)
      Deprecated.
      Parameters:
      length - specifies the number of bytes (or characters) that require writing
      Returns:
      true if a write to this OutputSink will succeed, otherwise returns false.
    • notifyCanWrite

      public void notifyCanWrite(WriteHandler writeHandler)
      Instructs the OutputSink to invoke the provided WriteHandler when it is possible to write more bytes (or characters). Note that once the WriteHandler has been notified, it will not be considered for notification again at a later point in time.
      Parameters:
      writeHandler - the WriteHandler that should be notified when it's possible to write more data.
    • notifyCanWrite

      @Deprecated public void notifyCanWrite(WriteHandler handler, int length)
      Deprecated.
      Instructs the OutputSink to invoke the provided WriteHandler when it is possible to write length bytes (or characters). Note that once the WriteHandler has been notified, it will not be considered for notification again at a later point in time.
      Parameters:
      handler - the WriteHandler that should be notified when it's possible to write length bytes.
      length - the number of bytes or characters that require writing.
    • toString

      public String toString()
      Overrides:
      toString in class Object