19 #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FACTORY_H 20 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_FACTORY_H 59 const char* path = uri->
path;
60 if (path[0] ==
'/') ++path;
66 virtual const char*
scheme()
const = 0;
virtual grpc_core::UniquePtr< char > GetDefaultAuthority(grpc_uri *uri) const
Returns a string representing the default authority to use for this scheme.
Definition: resolver_factory.h:58
An array of arguments that can be passed around.
Definition: grpc_types.h:132
char * path
Definition: uri_parser.h:29
virtual OrphanablePtr< Resolver > CreateResolver(ResolverArgs args) const =0
Returns a new resolver instance.
virtual const char * scheme() const =0
Returns the URI scheme that this factory implements.
GPRAPI char * gpr_strdup(const char *src)
String utility functions.
Definition: string.cc:37
std::unique_ptr< T, Deleter > OrphanablePtr
Definition: orphanable.h:68
std::unique_ptr< Resolver::ResultHandler > result_handler
The result handler to be used by the resolver.
Definition: resolver_factory.h:44
Round Robin Policy.
Definition: backend_metric.cc:24
Definition: resolver_factory.h:47
Definition: combiner.h:33
Definition: resolver_factory.h:34
virtual ~ResolverFactory()
Definition: resolver_factory.h:68
grpc_pollset_set * pollset_set
Used to drive I/O in the name resolution process.
Definition: resolver_factory.h:40
struct grpc_pollset_set grpc_pollset_set
Definition: pollset_set.h:31
std::unique_ptr< T, DefaultDeleteChar > UniquePtr
Definition: memory.h:45
Definition: uri_parser.h:26
virtual bool IsValidUri(const grpc_uri *uri) const =0
Returns a bool indicating whether the input uri is valid to create a resolver.
const grpc_channel_args * args
Channel args to be included in resolver results.
Definition: resolver_factory.h:38
Combiner * combiner
The combiner under which all resolver calls will be run.
Definition: resolver_factory.h:42
grpc_uri * uri
The parsed URI to resolve.
Definition: resolver_factory.h:36