Class TcpServerConfig


  • public final class TcpServerConfig
    extends java.lang.Object
    Configuration for TCP based servers.
    • Constructor Detail

      • TcpServerConfig

        public TcpServerConfig()
    • Method Detail

      • sniConfig

        @Nullable
        public java.util.Map<java.lang.String,​ServerSslConfig> sniConfig()
      • transportObserver

        public void transportObserver​(TransportObserver transportObserver)
        Sets a TransportObserver that provides visibility into transport events.
        Parameters:
        transportObserver - A TransportObserver that provides visibility into transport events.
      • sslConfig

        public TcpServerConfig sslConfig​(ServerSslConfig defaultSslConfig,
                                         java.util.Map<java.lang.String,​ServerSslConfig> sniConfig)
        Add SSL/TLS and SNI related config.
        Parameters:
        defaultSslConfig - the default ServerSslConfig used when no SNI match is found.
        sniConfig - client SNI hostname values are matched against keys in this Map and if a match is found the corresponding ServerSslConfig is used.
        Returns:
        this
      • listenSocketOption

        public <T> void listenSocketOption​(java.net.SocketOption<T> option,
                                           T value)
        Adds a SocketOption that is applied to the server socket channel which listens/accepts socket channels.
        Type Parameters:
        T - the type of the value
        Parameters:
        option - the option to apply
        value - the value
        Throws:
        java.lang.IllegalArgumentException - if the SocketOption is not supported
        See Also:
        StandardSocketOptions, ServiceTalkSocketOptions
      • backlog

        @Deprecated
        public TcpServerConfig backlog​(int backlog)
        The maximum queue length for incoming connection indications (a request to connect) is set to the backlog parameter. If a connection indication arrives when the queue is full, the connection may time out.
        Parameters:
        backlog - the backlog to use when accepting connections
        Returns:
        this
      • asReadOnly

        public ReadOnlyTcpServerConfig asReadOnly()
        Create a read only view of this object.
        Returns:
        a read only view of this object.
      • sslConfig

        @Nullable
        public final SslConfigType sslConfig()
      • socketOption

        public final <T> void socketOption​(java.net.SocketOption<T> option,
                                           T value)
        Add a SocketOption that is applied.
        Type Parameters:
        T - the type of the value
        Parameters:
        option - the option to apply
        value - the value
        Throws:
        java.lang.IllegalArgumentException - if the SocketOption is not supported
        See Also:
        StandardSocketOptions, ServiceTalkSocketOptions
      • flushStrategy

        public final void flushStrategy​(FlushStrategy flushStrategy)
        Sets FlushStrategy to use for all connections.
        Parameters:
        flushStrategy - FlushStrategy to use for all connections
      • enableWireLogging

        @Deprecated
        public final void enableWireLogging​(java.lang.String loggerName)
        Enable wire-logging for all connections. All wire events will be logged at trace level.
        Parameters:
        loggerName - The name of the logger to log wire events
      • enableWireLogging

        public final void enableWireLogging​(java.lang.String loggerName,
                                            LogLevel logLevel,
                                            java.util.function.BooleanSupplier logUserData)
        Enable wire-logging for all connections. All wire events will be logged at trace level.
        Parameters:
        loggerName - provides the logger to log data/events to/from the wire.
        logLevel - the level to log data/events to/from the wire.
        logUserData - true to include user data (e.g. data, headers, etc.). false to exclude user data and log only network events.
      • sslConfig

        public final void sslConfig​(SslConfigType sslConfig)
        Add SSL/TLS related config.
        Parameters:
        sslConfig - the ServerSslConfig.