Skip to content

Commit

Permalink
less oventhusiastic
Browse files Browse the repository at this point in the history
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
  • Loading branch information
alyssawilk committed Jan 11, 2021
1 parent f4aca6a commit f1789ab
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
4 changes: 2 additions & 2 deletions source/common/upstream/upstream_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -727,8 +727,8 @@ ClusterInfoImpl::ClusterInfoImpl(
? std::make_unique<OptionalClusterStats>(
config, *stats_scope_, factory_context.clusterManager())
: nullptr),
features_(
ClusterInfoImpl::HttpProtocolOptionsConfigImpl::parseFeatures(*http_protocol_options_)),
features_(ClusterInfoImpl::HttpProtocolOptionsConfigImpl::parseFeatures(
config, *http_protocol_options_)),
resource_managers_(config, runtime, name_, *stats_scope_,
factory_context.clusterManager().clusterCircuitBreakersStatNames()),
maintenance_mode_runtime_key_(absl::StrCat("upstream.maintenance_mode.", name_)),
Expand Down
7 changes: 6 additions & 1 deletion source/extensions/upstreams/http/config.cc
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ getHttp2Options(const envoy::extensions::upstreams::http::v3::HttpProtocolOption

} // namespace

uint64_t ProtocolOptionsConfigImpl::parseFeatures(const ProtocolOptionsConfigImpl& options) {
uint64_t
ProtocolOptionsConfigImpl::parseFeatures(const envoy::config::cluster::v3::Cluster& config,
const ProtocolOptionsConfigImpl& options) {
uint64_t features = 0;

if (options.use_http2_) {
Expand All @@ -56,6 +58,9 @@ uint64_t ProtocolOptionsConfigImpl::parseFeatures(const ProtocolOptionsConfigImp
features |= Upstream::ClusterInfo::Features::USE_ALPN;
}

if (config.close_connections_on_host_health_failure()) {
features |= Upstream::ClusterInfo::Features::CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE;
}
return features;
}

Expand Down
7 changes: 4 additions & 3 deletions source/extensions/upstreams/http/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@ class ProtocolOptionsConfigImpl : public Upstream::ProtocolOptionsConfig {
const absl::optional<envoy::config::core::v3::UpstreamHttpProtocolOptions> upstream_options,
bool use_downstream_protocol, bool use_http2);

// Given the supplied protocol options configuration, returns a unit64_t representing the enabled
// Upstream::ClusterInfo::Features.
static uint64_t parseFeatures(const ProtocolOptionsConfigImpl& options);
// Given the supplied cluster config, and protocol options configuration,
// returns a unit64_t representing the enabled Upstream::ClusterInfo::Features.
static uint64_t parseFeatures(const envoy::config::cluster::v3::Cluster& config,
const ProtocolOptionsConfigImpl& options);

const Envoy::Http::Http1Settings http1_settings_;
const envoy::config::core::v3::Http2ProtocolOptions http2_options_;
Expand Down

0 comments on commit f1789ab

Please sign in to comment.