#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include <memory>
#include <string>
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include <grpc/event_engine/event_engine.h>
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/server_address.h"
#include "src/core/lib/transport/connectivity_state.h"
namespace grpc_core {
class ChildPolicyHandler::Helper
: public LoadBalancingPolicy::ChannelControlHelper { … };
void ChildPolicyHandler::ShutdownLocked() { … }
absl::Status ChildPolicyHandler::UpdateLocked(UpdateArgs args) { … }
void ChildPolicyHandler::ExitIdleLocked() { … }
void ChildPolicyHandler::ResetBackoffLocked() { … }
OrphanablePtr<LoadBalancingPolicy> ChildPolicyHandler::CreateChildPolicy(
absl::string_view child_policy_name, const ChannelArgs& args) { … }
bool ChildPolicyHandler::ConfigChangeRequiresNewPolicyInstance(
LoadBalancingPolicy::Config* old_config,
LoadBalancingPolicy::Config* new_config) const { … }
OrphanablePtr<LoadBalancingPolicy>
ChildPolicyHandler::CreateLoadBalancingPolicy(
absl::string_view name, LoadBalancingPolicy::Args args) const { … }
}