Class UDPNIOConnection

    • Method Detail

      • 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
      • 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.
      • 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.