proxygen
proxygen::AcceptorConfiguration Struct Reference

#include <AcceptorConfiguration.h>

Inheritance diagram for proxygen::AcceptorConfiguration:
wangle::ServerSocketConfig

Public Attributes

bool internal {false}
 
bool HTTP2PrioritiesEnabled {true}
 
std::chrono::milliseconds transactionIdleTimeout {600000}
 
int spdyCompressionLevel {Z_NO_COMPRESSION}
 
std::string plaintextProtocol
 
std::list< std::stringallowedPlaintextUpgradeProtocols
 
SettingsList egressSettings
 
uint32_t maxConcurrentIncomingStreams {0}
 
size_t initialReceiveWindow {65536}
 
size_t receiveStreamWindowSize {65536}
 
size_t receiveSessionWindowSize {65536}
 
int64_t writeBufferLimit {-1}
 
- Public Attributes inherited from wangle::ServerSocketConfig
std::string name
 
uint32_t acceptBacklog {1024}
 
uint32_t maxNumPendingConnectionsPerWorker {1024}
 
std::chrono::milliseconds connectionIdleTimeout {600000}
 
std::chrono::milliseconds sslHandshakeTimeout {60000}
 
folly::SocketAddress bindAddress
 
SSLCacheOptions sslCacheOptions {std::chrono::seconds(0), 20480, 200}
 
bool allowInsecureConnectionsOnSecureServer {false}
 
TLSTicketKeySeeds initialTicketSeeds
 
std::vector< SSLContextConfigsslContextConfigs
 
bool strictSSL {true}
 
uint32_t maxConcurrentSSLHandshakes {30720}
 
bool enableTCPFastOpen {false}
 
uint32_t fastOpenQueueSize {100}
 
FizzConfig fizzConfig
 

Additional Inherited Members

- Public Member Functions inherited from wangle::ServerSocketConfig
 ServerSocketConfig ()
 
bool isSSL () const
 
void setSocketOptions (const folly::AsyncSocket::OptionMap &opts)
 
folly::AsyncSocket::OptionMapgetSocketOptions ()
 
const folly::AsyncSocket::OptionMapgetSocketOptions () const
 
bool hasExternalPrivateKey () const
 

Detailed Description

Configuration for a single Acceptor.

This configures not only accept behavior, but also some types of SSL behavior that may make sense to configure on a per-VIP basis (e.g. which cert(s) we use, etc).

Definition at line 33 of file AcceptorConfiguration.h.

Member Data Documentation

std::list<std::string> proxygen::AcceptorConfiguration::allowedPlaintextUpgradeProtocols

Comma separated string of protocols that can be upgraded to from HTTP/1.1

Definition at line 65 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPDefaultSessionCodecFactory::getCodec(), proxygen::HTTPServerAcceptor::makeConfig(), and TEST().

SettingsList proxygen::AcceptorConfiguration::egressSettings

HTTP/2 or SPDY settings for this acceptor

Definition at line 70 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPServerAcceptor::makeConfig(), and proxygen::HTTPSessionAcceptor::onNewConnection().

bool proxygen::AcceptorConfiguration::HTTP2PrioritiesEnabled {true}

Determines if connection should respect HTTP2 priorities

Definition at line 44 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPSessionAcceptor::getHttp2PrioritiesEnabled().

size_t proxygen::AcceptorConfiguration::initialReceiveWindow {65536}

Flow control parameters.

initialReceiveWindow = amount to advertise to peer via SETTINGS receiveStreamWindowSize = amount to increase per-stream window via WINDOW_UPDATE receiveSessionWindowSize = amount to increase per-session window via WINDOW_UPDATE This also controls the size of the per-session read buffer.

Definition at line 89 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPServerAcceptor::makeConfig(), and proxygen::HTTPSessionAcceptor::onNewConnection().

bool proxygen::AcceptorConfiguration::internal {false}

Determines if the VIP should accept traffic from only internal or external clients. Internal VIPs have different behavior (e.g. Via headers, etc).

Definition at line 39 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPAcceptor::isInternal().

uint32_t proxygen::AcceptorConfiguration::maxConcurrentIncomingStreams {0}

The maximum number of transactions the remote could initiate per connection on protocols that allow multiplexing.

Definition at line 76 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPServerAcceptor::makeConfig(), and proxygen::HTTPSessionAcceptor::onNewConnection().

std::string proxygen::AcceptorConfiguration::plaintextProtocol

The name of the protocol to use on non-TLS connections.

Definition at line 60 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPDefaultSessionCodecFactory::HTTPDefaultSessionCodecFactory(), proxygen::HTTPServerAcceptor::makeConfig(), and TEST().

size_t proxygen::AcceptorConfiguration::receiveSessionWindowSize {65536}
size_t proxygen::AcceptorConfiguration::receiveStreamWindowSize {65536}
int proxygen::AcceptorConfiguration::spdyCompressionLevel {Z_NO_COMPRESSION}

The compression level to use for SPDY headers with responses from this Acceptor.

Definition at line 55 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPDefaultSessionCodecFactory::getCodec().

std::chrono::milliseconds proxygen::AcceptorConfiguration::transactionIdleTimeout {600000}

The number of milliseconds a transaction can be idle before we close it.

Definition at line 49 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPAcceptor::init(), and proxygen::HTTPServerAcceptor::makeConfig().

int64_t proxygen::AcceptorConfiguration::writeBufferLimit {-1}

These parameters control how many bytes HTTPSession's will buffer in user space before applying backpressure to handlers. -1 means use the built-in HTTPSession default (64kb)

Definition at line 98 of file AcceptorConfiguration.h.

Referenced by proxygen::HTTPSessionAcceptor::onNewConnection().


The documentation for this struct was generated from the following file: