# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
namespace=jdisc.http

# The TCP port to listen to for this connector.
listenPort                          int      default=0

# The connector name
name                                string   default="default"

# The header field cache size.
headerCacheSize                     int      default=512

# The size of the buffer into which response content is aggregated before being sent to the client.
outputBufferSize                    int      default=65536

# The maximum size of a request header.
requestHeaderSize                   int      default=65536

# The maximum size of a response header.
responseHeaderSize                  int      default=65536

# The accept queue size (also known as accept backlog).
acceptQueueSize                     int      default=0

# Whether the server socket reuses addresses.
reuseAddress                        bool     default=true

# The maximum idle time for a connection, which roughly translates to the Socket.setSoTimeout(int).
idleTimeout                         double   default=180.0

# DEPRECATED - Ignored, no longer in use
stopTimeout                           double default = 30.0
# TODO Vespa 8 Remove stop timeout

# Whether or not to have socket keep alive turned on.
tcpKeepAliveEnabled                 bool     default=false

# Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm).
tcpNoDelay                          bool     default=true

# Whether to enable connection throttling. New connections will be dropped when a threshold is exceeded.
throttling.enabled                  bool     default=false

# Max number of connections.
throttling.maxConnections           int      default=-1

# Max memory utilization as a value between 0 and 1.
throttling.maxHeapUtilization       double   default=-1.0

# Max connection accept rate per second.
throttling.maxAcceptRate            int      default=-1

# Idle timeout in seconds applied to endpoints when a threshold is exceeded.
throttling.idleTimeout              double   default=-1.0

# Whether to enable SSL for this connector.
ssl.enabled                         bool     default=false

# File with private key in PEM format. Specify either this or privateKey, but not both
ssl.privateKeyFile                  string   default=""

# Private key in PEM format. Specify either this or privateKeyFile, but not both
ssl.privateKey                      string   default=""

# File with certificate in PEM format. Specify either this or certificate, but not both
ssl.certificateFile                 string   default=""

# Certificate in PEM format. Specify either this or certificateFile, but not both
ssl.certificate                     string   default=""

# with trusted CA certificates in PEM format. Used to verify clients
ssl.caCertificateFile               string default=""

# Client authentication mode. See SSLEngine.getNeedClientAuth()/getWantClientAuth() for details.
ssl.clientAuth                      enum { DISABLED, WANT_AUTH, NEED_AUTH }  default=DISABLED
