Interface ServerConfiguration
-
- All Superinterfaces:
SocketConfiguration
public interface ServerConfiguration extends SocketConfiguration
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ServerConfiguration.Builder
AServerConfiguration
builder.
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SOCKET_NAME
The default server socket configuration name.-
Fields inherited from interface io.helidon.webserver.SocketConfiguration
DEFAULT, DEFAULT_BACKLOG_SIZE
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description int
backlog()
Returns a maximum length of the queue of incoming connections on the default server socket.InetAddress
bindAddress()
Returns local address where the server listens on with the default server socket.static ServerConfiguration.Builder
builder()
Creates new instance of aserver configuration builder
.static ServerConfiguration.Builder
builder(Config config)
Creates new instance of aserver configuration builder
with defaults from external configuration source.Context
context()
The top levelContext
to be used by this webserver.static ServerConfiguration
create(Config config)
Creates new instance with defaults from external configuration source.ExperimentalConfiguration
experimental()
Returns anExperimentalConfiguration
.default boolean
isHttp2Enabled()
Checks if HTTP/2 is enabled in config.int
port()
Returns a server port to listen on with the default server socket.int
receiveBufferSize()
Returns proposed value of the TCP receive window that is advertised to the remote peer on the default server socket.default SocketConfiguration
socket(String name)
A socket configuration of an additional named server socket.Map<String,SocketConfiguration>
sockets()
A map of all the configured server sockets; that is the default server socket which is identified by the keyDEFAULT_SOCKET_NAME
and also all the additional named server socket configurations.SSLContext
ssl()
Returns aSSLContext
to use with the default server socket.int
timeoutMillis()
Returns a default server socket timeout in milliseconds or0
for an infinite timeout.Tracer
tracer()
Returns an opentracing.io tracer.int
workersCount()
Returns the count of threads in the pool used to process HTTP requests.-
Methods inherited from interface io.helidon.webserver.SocketConfiguration
cipherSuite, clientAuth, enabledSslProtocols, initialBufferSize, maxChunkSize, maxHeaderSize, maxInitialLineLength, validateHeaders
-
-
-
-
Field Detail
-
DEFAULT_SOCKET_NAME
static final String DEFAULT_SOCKET_NAME
The default server socket configuration name. All the default server socket configuration (e.g.,port()
orbacklog()
) is accessible throughsocket(String)
orsockets()
with thisdefault socket name
.- See Also:
- Constant Field Values
-
-
Method Detail
-
workersCount
int workersCount()
Returns the count of threads in the pool used to process HTTP requests.Default value is
Runtime.availableProcessors()
.- Returns:
- a workers count
-
port
int port()
Returns a server port to listen on with the default server socket. If port is0
then any available ephemeral port will be used.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
port
in interfaceSocketConfiguration
- Returns:
- the server port of the default server socket
-
bindAddress
InetAddress bindAddress()
Returns local address where the server listens on with the default server socket. Ifnull
then listens an all local addresses.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
bindAddress
in interfaceSocketConfiguration
- Returns:
- an address to bind with the default server socket;
null
for all local addresses
-
backlog
int backlog()
Returns a maximum length of the queue of incoming connections on the default server socket.Default value is
SocketConfiguration.DEFAULT_BACKLOG_SIZE
.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
backlog
in interfaceSocketConfiguration
- Returns:
- a maximum length of the queue of incoming connections
-
timeoutMillis
int timeoutMillis()
Returns a default server socket timeout in milliseconds or0
for an infinite timeout.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
timeoutMillis
in interfaceSocketConfiguration
- Returns:
- a default 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 default server socket.If
0
then use implementation default.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
receiveBufferSize
in interfaceSocketConfiguration
- Returns:
- a buffer size in bytes of the default server socket or
0
-
ssl
SSLContext ssl()
Returns aSSLContext
to use with the default server socket. If notnull
then the server enforces an SSL communication.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
ssl
in interfaceSocketConfiguration
- Returns:
- a SSL context to use
-
socket
default SocketConfiguration socket(String name)
A socket configuration of an additional named server socket.An additional named server socket may have a dedicated
Routing
configured throughWebServer.Builder.addNamedRouting(String, Routing)
.- Parameters:
name
- the name of the additional server socket- Returns:
- an additional named server socket configuration or
null
if there is no such named server socket
-
sockets
Map<String,SocketConfiguration> sockets()
A map of all the configured server sockets; that is the default server socket which is identified by the keyDEFAULT_SOCKET_NAME
and also all the additional named server socket configurations.An additional named server socket may have a dedicated
Routing
configured throughWebServer.Builder.addNamedRouting(String, Routing)
.- Returns:
- a map of all the configured server sockets
-
tracer
Tracer tracer()
Returns an opentracing.io tracer. Default isGlobalTracer
.- Returns:
- a tracer to use - never
null
(defaulting toGlobalTracer
-
context
Context context()
The top levelContext
to be used by this webserver.- Returns:
- a context instance with registered application scoped instances
-
experimental
ExperimentalConfiguration experimental()
Returns anExperimentalConfiguration
.- Returns:
- Experimental configuration.
-
isHttp2Enabled
default boolean isHttp2Enabled()
Checks if HTTP/2 is enabled in config.- Returns:
- Outcome of test.
-
create
static ServerConfiguration create(Config config)
Creates new instance with defaults from external configuration source.- Parameters:
config
- the externalized configuration- Returns:
- a new instance
-
builder
static ServerConfiguration.Builder builder()
Creates new instance of aserver configuration builder
.- Returns:
- a new builder instance
-
builder
static ServerConfiguration.Builder builder(Config config)
Creates new instance of aserver configuration builder
with defaults from external configuration source.- Parameters:
config
- the externalized configuration- Returns:
- a new builder instance
-
-