Class GridNioServer<T>

  • Type Parameters:
    T - Message type.

    public class GridNioServer<T>
    extends Object
    TCP NIO server. Due to asynchronous nature of connections processing network events such as client connection, disconnection and message receiving are passed to the server listener. Once client connected, an associated GridNioSession object is created and can be used in communication.

    This implementation supports several selectors and several reading threads.

    • Method Detail

      • readerMoveCount

        public long readerMoveCount()
        Returns:
        Number of reader sessions move.
      • writerMoveCount

        public long writerMoveCount()
        Returns:
        Number of reader writer move.
      • port

        public int port()
        Returns:
        Configured port.
      • builder

        public static <T> GridNioServer.Builder<T> builder()
        Creates and returns a builder for a new instance of this class.
        Returns:
        Builder for new instance.
      • start

        public void start()
        Starts all associated threads to perform accept and read activities.
      • stop

        public void stop()
        Stops all threads and releases all resources.
      • localAddress

        public InetSocketAddress localAddress()
        Gets the address server is bound to.
        Returns:
        Address server is bound to.
      • selectorSpins

        public long selectorSpins()
        Returns:
        Selector spins.
      • closeFromWorkerThread

        public void closeFromWorkerThread​(GridNioSession ses)
        Parameters:
        ses - Session.
      • resend

        public void resend​(GridNioSession ses)
        Parameters:
        ses - Session.
      • workers

        public List<org.apache.ignite.internal.util.nio.GridNioServer.AbstractNioClientWorker> workers()
        Returns:
        Workers.
      • writeTimeout

        public long writeTimeout()
        Gets configurable write timeout for this session. If not set, default value is DFLT_SES_WRITE_TIMEOUT.
        Returns:
        Write timeout in milliseconds.
      • writeTimeout

        public void writeTimeout​(long writeTimeout)
        Sets configurable write timeout for session.
        Parameters:
        writeTimeout - Write timeout in milliseconds.
      • idleTimeout

        public long idleTimeout()
        Gets configurable idle timeout for this session. If not set, default value is ConnectorConfiguration.DFLT_IDLE_TIMEOUT.
        Returns:
        Idle timeout in milliseconds.
      • idleTimeout

        public void idleTimeout​(long idleTimeout)
        Sets configurable idle timeout for session.
        Parameters:
        idleTimeout - Idle timeout in milliseconds.
      • outboundMessagesQueueSize

        public int outboundMessagesQueueSize()
        Gets outbound messages queue size.
        Returns:
        Write queue size.