-
- All Known Subinterfaces:
ServerConfiguration
public interface SocketConfigurationThe SocketConfiguration configures a port to listen on and its associated server socket parameters.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classSocketConfiguration.BuilderTheSocketConfigurationbuilder 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
Fields Modifier and Type Field Description static SocketConfigurationDEFAULTDeprecated.since 2.0.0 This configuration does not contain a name and will be removedstatic intDEFAULT_BACKLOG_SIZEThe default backlog size to configure the server sockets with if no other value is provided.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description Set<String>allowedCipherSuite()Deprecated, 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.InetAddressbindAddress()Returns local address where the server listens on with the server socket.static SocketConfiguration.Builderbuilder()Creates a builder ofSocketConfigurationclass.ClientAuthenticationclientAuth()Deprecated, for removal: This API element is subject to removal in a future version.usetls().clientAuth()instead.static SocketConfigurationcreate(String name)Create a default named configuration.default booleanenableCompression()Whether 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).Set<String>enabledSslProtocols()Deprecated, for removal: This API element is subject to removal in a future version.usetls().enabledTlsProtocols()instead.intinitialBufferSize()Initial size of the buffer used to parse HTTP line and headers.intmaxChunkSize()Maximal size of a single chunk of received data.intmaxHeaderSize()Maximal size of all headers combined.intmaxInitialLineLength()Maximal length of the initial HTTP line.default longmaxPayloadSize()Maximum 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.intreceiveBufferSize()Returns proposed value of the TCP receive window that is advertised to the remote peer on the server socket.SSLContextssl()Deprecated, for removal: This API element is subject to removal in a future version.usetls().sslContext()instead.inttimeoutMillis()Returns a server socket timeout in milliseconds or0for an infinite timeout.Optional<WebServerTls>tls()Return aWebServerTlscontaining server TLS configuration.booleanvalidateHeaders()Whether to validate HTTP header names.
-
-
-
Field Detail
-
DEFAULT
@Deprecated static final SocketConfiguration 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_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 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(since="2.3.1", forRemoval=true) SSLContext 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(since="2.3.1", forRemoval=true) Set<String> 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(since="2.3.1", forRemoval=true) Set<String> 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(since="2.3.1", forRemoval=true) ClientAuthentication 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
static SocketConfiguration.Builder builder()
Creates a builder ofSocketConfigurationclass.- Returns:
- a builder
-
create
static SocketConfiguration create(String name)
Create a default named configuration.- Parameters:
name- name of the socket- Returns:
- a new socket configuration with defaults
-
-