/* hot_restart_generation is an Accumulate gauge; we omit it here for testing dynamics. */ \
virtual Runtime::LoaderPtr createRuntime(Instance& server, Configuration::Initial& config) PURE;
static Runtime::LoaderPtr createRuntime(Instance& server, Server::Configuration::Initial& config);
AccessLog::AccessLogManager& accessLogManager() override { return server_.accessLogManager(); }
ServerLifecycleNotifier& lifecycleNotifier() override { return server_.lifecycleNotifier(); }
envoy::config::bootstrap::v3::Bootstrap& bootstrap() override { return server_.bootstrap(); }
InstanceBase(Init::Manager& init_manager, const Options& options, Event::TimeSystem& time_system,
maybeCreateGuardDog(absl::string_view name, const Server::Configuration::Watchdog& config) PURE;
maybeCreateHdsDelegate(Configuration::ServerFactoryContext& server_context, Stats::Scope& scope,
Configuration::ServerFactoryContext& serverFactoryContext() override { return server_contexts_; }
return main_dispatch_loop_started_.load() ? validation_context_.dynamicValidationVisitor()
void setDefaultTracingConfig(const envoy::config::trace::v3::Tracing& tracing_config) override {
void setSinkPredicates(std::unique_ptr<Envoy::Stats::SinkPredicates>&& sink_predicates) override {
ServerLifecycleNotifier::HandlePtr registerCallback(Stage stage, StageCallback callback) override;
// init_manager_ must come before any member that participates in initialization, and destructed
// occur at any point during member lifetime. This init manager is populated with LdsApi targets.
// potentially have a single class instance held in a static and have a clear() method to avoid some
// vector constructions and reservations, but I'm not sure it's worth the extra complexity until it
// TODO(mattklein123): One thing we probably want to do is switch from returning vectors of metrics
// MetricSnapshotImpl captures a snapshot of metrics by latching the delta usage, and optionally
const std::vector<std::reference_wrapper<const Stats::ParentHistogram>>& histograms() override {
const std::vector<std::reference_wrapper<const Stats::TextReadout>>& textReadouts() override {
const std::vector<Stats::PrimitiveGaugeSnapshot>& hostGauges() override { return host_gauges_; }