17 #ifndef GRPC_CORE_EXT_XDS_XDS_HTTP_FILTERS_H
18 #define GRPC_CORE_EXT_XDS_XDS_HTTP_FILTERS_H
26 #include "absl/status/statusor.h"
27 #include "absl/strings/str_cat.h"
28 #include "absl/strings/string_view.h"
78 upb_strview serialized_filter_config, upb_arena*
arena)
const = 0;
83 upb_strview serialized_filter_config, upb_arena*
arena)
const = 0;
115 std::unique_ptr<XdsHttpFilterImpl> filter,
116 const std::set<absl::string_view>& config_proto_type_names);
119 absl::string_view proto_type_name);
std::string Dump(int indent=0) const
Definition: json_writer.cc:334
Definition: xds_http_filters.h:41
virtual ~XdsHttpFilterImpl()=default
virtual bool IsSupportedOnServers() const =0
virtual const grpc_channel_filter * channel_filter() const =0
virtual absl::StatusOr< ServiceConfigJsonEntry > GenerateServiceConfig(const FilterConfig &hcm_filter_config, const FilterConfig *filter_config_override) const =0
virtual absl::StatusOr< FilterConfig > GenerateFilterConfigOverride(upb_strview serialized_filter_config, upb_arena *arena) const =0
virtual grpc_channel_args * ModifyChannelArgs(grpc_channel_args *args) const
Definition: xds_http_filters.h:91
virtual void PopulateSymtab(upb_symtab *symtab) const =0
virtual absl::StatusOr< FilterConfig > GenerateFilterConfig(upb_strview serialized_filter_config, upb_arena *arena) const =0
virtual bool IsSupportedOnClients() const =0
Definition: xds_http_filters.h:112
static void RegisterFilter(std::unique_ptr< XdsHttpFilterImpl > filter, const std::set< absl::string_view > &config_proto_type_names)
Definition: xds_http_filters.cc:78
static const XdsHttpFilterImpl * GetFilterForType(absl::string_view proto_type_name)
Definition: xds_http_filters.cc:87
static void Init()
Definition: xds_http_filters.cc:100
static void Shutdown()
Definition: xds_http_filters.cc:109
static void PopulateSymtab(upb_symtab *symtab)
Definition: xds_http_filters.cc:94
Round Robin Policy.
Definition: backend_metric.cc:26
const char * kXdsHttpRouterFilterConfigName
Definition: xds_http_filters.cc:27
An array of arguments that can be passed around.
Definition: grpc_types.h:132
Definition: channel_stack.h:107
Definition: xds_http_filters.h:43
Json config
Definition: xds_http_filters.h:45
std::string ToString() const
Definition: xds_http_filters.h:51
bool operator==(const FilterConfig &other) const
Definition: xds_http_filters.h:47
absl::string_view config_proto_type_name
Definition: xds_http_filters.h:44
Definition: xds_http_filters.h:58
std::string element
Definition: xds_http_filters.h:67
std::string service_config_field_name
Definition: xds_http_filters.h:65
upb_arena * arena
Definition: xds_api.cc:909
upb_symtab * symtab
Definition: xds_api.cc:908