- All Known Subinterfaces:
ServerConfiguration
public interface SocketConfiguration
The SocketConfiguration configures a port to listen on and its associated server socket parameters.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classTheSocketConfigurationbuilder class.static interfaceSocketConfiguration.SocketConfigurationBuilder<B extends SocketConfiguration.SocketConfigurationBuilder<B>>Socket configuration builder API, used bySocketConfiguration.Builderto configure additional sockets, and byWebServer.Builderto configure the default socket. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SocketConfigurationDeprecated.since 2.0.0 This configuration does not contain a name and will be removedstatic final intThe default backlog size to configure the server sockets with if no other value is provided. -
Method Summary
Modifier and TypeMethodDescriptionDeprecated, for removal: This API element is subject to removal in a future version.usetls().cipherSuite()instead.intbacklog()Returns a maximum length of the queue of incoming connections on the server socket.Returns local address where the server listens on with the server socket.static SocketConfiguration.Builderbuilder()Creates a builder ofSocketConfigurationclass.Deprecated, for removal: This API element is subject to removal in a future version.usetls().clientAuth()instead.static SocketConfigurationCreate a default named configuration.default booleanWhether to allow negotiation for a gzip/deflate content encoding.default booleanenabled()Whether this socket is enabled (and will be opened on server startup), or disabled (and ignored on server startup).Deprecated, for removal: This API element is subject to removal in a future version.usetls().enabledTlsProtocols()instead.intInitial size of the buffer used to parse HTTP line and headers.intMaximal size of a single chunk of received data.intMaximal size of all headers combined.intMaximal length of the initial HTTP line.default longMaximum size allowed for an HTTP payload in a client request.default Stringname()Name of this socket.intport()Returns a server port to listen on with the server socket.intReturns proposed value of the TCP receive window that is advertised to the remote peer on the server socket.ssl()Deprecated, for removal: This API element is subject to removal in a future version.usetls().sslContext()instead.intReturns a server socket timeout in milliseconds or0for an infinite timeout.tls()Return aWebServerTlscontaining server TLS configuration.booleanWhether to validate HTTP header names.
-
Field Details
-
DEFAULT
Deprecated.since 2.0.0 This configuration does not contain a name and will be removedThe default socket configuration. -
DEFAULT_BACKLOG_SIZE
static final int DEFAULT_BACKLOG_SIZEThe default backlog size to configure the server sockets with if no other value is provided.- See Also:
-
-
Method Details
-
name
Name of this socket. Default toWebServer.DEFAULT_SOCKET_NAMEfor 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 is0then 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. Ifnullthen listens an all local addresses.- Returns:
- an address to bind with the server socket;
nullfor 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 or0for 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
0then use implementation default.- Returns:
- a buffer size in bytes of the server socket or
0
-
tls
Optional<WebServerTls> tls()Return aWebServerTlscontaining server TLS configuration. When emptyOptionalis returned no TLS should be configured.- Returns:
- web server tls configuration
-
ssl
Deprecated, for removal: This API element is subject to removal in a future version.usetls().sslContext()instead. This method will be removed at 3.0.0 version.Returns aSSLContextto use with the server socket. If notnullthen the server enforces an SSL communication.- Returns:
- a SSL context to use
-
enabledSslProtocols
Deprecated, for removal: This API element is subject to removal in a future version.usetls().enabledTlsProtocols()instead. This method will be removed at 3.0.0 version.Returns the SSL protocols to enable, ornullto enable the default protocols.- Returns:
- the SSL protocols to enable
-
allowedCipherSuite
Deprecated, for removal: This API element is subject to removal in a future version.usetls().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, for removal: This API element is subject to removal in a future version.usetls().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:
truefor enabled socket,falsefor 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 totrue, we make sure the header name is a valid string- Returns:
trueif 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 tofalse.- 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
-
initialBufferSize
int initialBufferSize()Initial size of the buffer used to parse HTTP line and headers.- Returns:
- initial size of the buffer
-
builder
Creates a builder ofSocketConfigurationclass.- Returns:
- a builder
-
create
Create a default named configuration.- Parameters:
name- name of the socket- Returns:
- a new socket configuration with defaults
-