Interface SocketConfiguration

  • All Known Subinterfaces:
    ServerConfiguration

    public interface SocketConfiguration
    The SocketConfiguration configures a port to listen on and its associated server socket parameters.
    • Field Detail

      • DEFAULT

        @Deprecated
        static final SocketConfiguration DEFAULT
        Deprecated.
        since 2.0.0 This configuration does not contain a name and will be removed
        The default socket configuration.
      • DEFAULT_BACKLOG_SIZE

        static final int DEFAULT_BACKLOG_SIZE
        The default backlog size to configure the server sockets with if no other value is provided.
        See Also:
        Constant Field Values
    • Method Detail

      • name

        default String name()
        Name of this socket. Default to WebServer.DEFAULT_SOCKET_NAME for the main and default server socket. All other sockets must be named.
        Returns:
        name of this socket
      • port

        int port()
        Returns a server port to listen on with the server socket. If port is 0 then any available ephemeral port will be used.
        Returns:
        the server port of the server socket
      • bindAddress

        InetAddress bindAddress()
        Returns local address where the server listens on with the server socket. If null then listens an all local addresses.
        Returns:
        an address to bind with the server socket; null for all local addresses
      • backlog

        int backlog()
        Returns a maximum length of the queue of incoming connections on the server socket.

        Default value is DEFAULT_BACKLOG_SIZE.

        Returns:
        a maximum length of the queue of incoming connections
      • timeoutMillis

        int timeoutMillis()
        Returns a server socket timeout in milliseconds or 0 for an infinite timeout.
        Returns:
        a server socket timeout in milliseconds or 0
      • receiveBufferSize

        int receiveBufferSize()
        Returns proposed value of the TCP receive window that is advertised to the remote peer on the server socket.

        If 0 then use implementation default.

        Returns:
        a buffer size in bytes of the server socket or 0
      • ssl

        @Deprecated(since="2.3.1",
                    forRemoval=true)
        SSLContext ssl()
        Deprecated, for removal: This API element is subject to removal in a future version.
        use tls().sslContext() instead. This method will be removed at 3.0.0 version.
        Returns a SSLContext to use with the server socket. If not null then the server enforces an SSL communication.
        Returns:
        a SSL context to use
      • enabledSslProtocols

        @Deprecated(since="2.3.1",
                    forRemoval=true)
        Set<String> enabledSslProtocols()
        Deprecated, for removal: This API element is subject to removal in a future version.
        use tls().enabledTlsProtocols() instead. This method will be removed at 3.0.0 version.
        Returns the SSL protocols to enable, or null to enable the default protocols.
        Returns:
        the SSL protocols to enable
      • allowedCipherSuite

        @Deprecated(since="2.3.1",
                    forRemoval=true)
        Set<String> allowedCipherSuite()
        Deprecated, for removal: This API element is subject to removal in a future version.
        use tls().cipherSuite() instead. This method will be removed at 3.0.0 version.
        Return the allowed cipher suite of the TLS. If empty set is returned, the default cipher suite is used.
        Returns:
        the allowed cipher suite
      • clientAuth

        @Deprecated(since="2.3.1",
                    forRemoval=true)
        ClientAuthentication clientAuth()
        Deprecated, for removal: This API element is subject to removal in a future version.
        use tls().clientAuth() instead. This method will be removed at 3.0.0 version.
        Whether to require client authentication or not.
        Returns:
        client authentication
      • enabled

        default boolean enabled()
        Whether this socket is enabled (and will be opened on server startup), or disabled (and ignored on server startup).
        Returns:
        true for enabled socket, false for socket that should not be opened
      • maxHeaderSize

        int maxHeaderSize()
        Maximal size of all headers combined.
        Returns:
        size in bytes
      • maxInitialLineLength

        int maxInitialLineLength()
        Maximal length of the initial HTTP line.
        Returns:
        length
      • maxChunkSize

        int maxChunkSize()
        Maximal size of a single chunk of received data.
        Returns:
        chunk size
      • validateHeaders

        boolean validateHeaders()
        Whether to validate HTTP header names. When set to true, we make sure the header name is a valid string
        Returns:
        true if headers should be validated
      • enableCompression

        default boolean enableCompression()
        Whether to allow negotiation for a gzip/deflate content encoding. Supporting HTTP compression may interfere with application that use streaming and other similar features. Thus, it defaults to false.
        Returns:
        compression flag
      • maxPayloadSize

        default long maxPayloadSize()
        Maximum size allowed for an HTTP payload in a client request. A negative value indicates that there is no maximum set.
        Returns:
        maximum payload size
      • backpressureBufferSize

        default long backpressureBufferSize()
        Maximum length of the response data sending buffer can keep without flushing. Depends on `backpressure-policy` what happens if max buffer size is reached.
        Returns:
        maximum non-flushed data Netty can buffer until backpressure is applied
      • backpressureStrategy

        default BackpressureStrategy backpressureStrategy()
        Strategy for applying backpressure to the reactive stream of response data. Switched default to BackpressureStrategy.AUTO_FLUSH since 2.5.7.
        Returns:
        strategy identifier for applying backpressure
      • continueImmediately

        default boolean continueImmediately()
        When true WebServer answers with 100 continue immediately, not waiting for user to actually request the data. False is default value.
        Returns:
        strategy identifier for applying backpressure
      • initialBufferSize

        int initialBufferSize()
        Initial size of the buffer used to parse HTTP line and headers.
        Returns:
        initial size of the buffer
      • requestedUriDiscoveryEnabled

        boolean requestedUriDiscoveryEnabled()
        Returns:
        whether requested URI discovery is enabled.
      • trustedProxies

        AllowList trustedProxies()
        The allow list for trusted proxies.
        Returns:
        allow list for trusted proxies
      • create

        static SocketConfiguration create​(String name)
        Create a default named configuration.
        Parameters:
        name - name of the socket
        Returns:
        a new socket configuration with defaults