Class UnixSocketConnector

    • Field Detail

      • MAX_UNIX_SOCKET_PATH_LENGTH

        public static final int MAX_UNIX_SOCKET_PATH_LENGTH
        See Also:
        Constant Field Values
    • Constructor Detail

      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server)

        Constructs a UnixSocketConnector with the default configuration.

        Parameters:
        server - the Server this connector will accept connections for.
      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server,
                                   @Name("selectors")
                                   int selectors)

        Constructs a UnixSocketConnector with the given number of selectors

        Parameters:
        server - the Server this connector will accept connections for.
        selectors - the number of selectors, or <=0 for a default value.
      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server,
                                   @Name("factories")
                                   ConnectionFactory... factories)

        Constructs a UnixSocketConnector with the given ConnectionFactories.

        Parameters:
        server - the Server this connector will accept connections for.
        factories - zero or more ConnectionFactory instances used to create and configure connections.
      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server,
                                   @Name("selectors")
                                   int selectors,
                                   @Name("factories")
                                   ConnectionFactory... factories)

        Constructs a UnixSocketConnector with the given selectors and ConnectionFactories.

        Parameters:
        server - the Server this connector will accept connections for.
        selectors - the number of selectors, or <=0 for a default value.
        factories - zero or more ConnectionFactory instances used to create and configure connections.
      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server,
                                   @Name("sslContextFactory")
                                   SslContextFactory sslContextFactory)

        Constructs a UnixSocketConnector with the given SslContextFactory.

        Parameters:
        server - the Server this connector will accept connections for.
        sslContextFactory - when non null a SslConnectionFactory prepended to the other ConnectionFactories
      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server,
                                   @Name("selectors")
                                   int selectors,
                                   @Name("sslContextFactory")
                                   SslContextFactory sslContextFactory)

        Constructs a UnixSocketConnector with the given selectors and SslContextFactory.

        .
        Parameters:
        server - the Server this connector will accept connections for.
        sslContextFactory - when non null a SslConnectionFactory prepended to the other ConnectionFactories
        selectors - the number of selectors, or <=0 for a default value.
      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server,
                                   @Name("sslContextFactory")
                                   SslContextFactory sslContextFactory,
                                   @Name("factories")
                                   ConnectionFactory... factories)

        Constructs a UnixSocketConnector with the given SslContextFactory and ConnectionFactories.

        .
        Parameters:
        server - the Server this connector will accept connections for.
        sslContextFactory - when non null a SslConnectionFactory prepended to the other ConnectionFactories
        factories - zero or more ConnectionFactory instances used to create and configure connections.
      • UnixSocketConnector

        public UnixSocketConnector​(@Name("server")
                                   Server server,
                                   @Name("executor")
                                   java.util.concurrent.Executor executor,
                                   @Name("scheduler")
                                   Scheduler scheduler,
                                   @Name("bufferPool")
                                   ByteBufferPool bufferPool,
                                   @Name("selectors")
                                   int selectors,
                                   @Name("factories")
                                   ConnectionFactory... factories)

        Constructs a UnixSocketConnector with the given parameters.

        .
        Parameters:
        server - the Server this connector will accept connections for.
        executor - the executor that runs tasks for handling requests, acceptors and selectors.
        scheduler - the scheduler used to schedule timed tasks.
        bufferPool - the ByteBufferPool used to allocate buffers.
        selectors - the number of selectors, or <=0 for a default value.
        factories - zero or more ConnectionFactory instances used to create and configure connections.
    • Method Detail

      • getUnixSocket

        @ManagedAttribute("The UNIX socket file name")
        public java.lang.String getUnixSocket()
      • setUnixSocket

        public void setUnixSocket​(java.lang.String filename)
      • newSelectorManager

        protected SelectorManager newSelectorManager​(java.util.concurrent.Executor executor,
                                                     Scheduler scheduler,
                                                     int selectors)
      • doStart

        protected void doStart()
                        throws java.lang.Exception
        Description copied from class: ContainerLifeCycle
        Starts the managed lifecycle beans in the order they were added.
        Overrides:
        doStart in class AbstractConnector
        Throws:
        java.lang.Exception
      • doStop

        protected void doStop()
                       throws java.lang.Exception
        Description copied from class: ContainerLifeCycle
        Stops the managed lifecycle beans in the reverse order they were added.
        Overrides:
        doStop in class AbstractConnector
        Throws:
        java.lang.Exception
      • isOpen

        public boolean isOpen()
      • open

        public void open()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • close

        public void close()
      • accept

        public void accept​(int acceptorID)
                    throws java.io.IOException
        Specified by:
        accept in class AbstractConnector
        Throws:
        java.io.IOException
      • accepted

        protected void accepted​(jnr.unixsocket.UnixSocketChannel channel)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • getTransport

        public java.lang.Object getTransport()
        Returns:
        the underlying socket, channel, buffer etc. for the connector.
      • newEndPoint

        protected UnixSocketEndPoint newEndPoint​(java.nio.channels.SelectableChannel channel,
                                                 ManagedSelector selector,
                                                 java.nio.channels.SelectionKey key)
      • getAcceptQueueSize

        @ManagedAttribute("Accept Queue size")
        public int getAcceptQueueSize()
        Returns:
        the accept queue size
      • setAcceptQueueSize

        public void setAcceptQueueSize​(int acceptQueueSize)
        Parameters:
        acceptQueueSize - the accept queue size (also known as accept backlog)
      • getReuseAddress

        @ManagedAttribute("Whether the server socket reuses addresses")
        public boolean getReuseAddress()
        Returns:
        whether the server socket reuses addresses
        See Also:
        ServerSocket.getReuseAddress()
      • setReuseAddress

        public void setReuseAddress​(boolean reuseAddress)
        Parameters:
        reuseAddress - whether the server socket reuses addresses
        See Also:
        ServerSocket.setReuseAddress(boolean)