Go to the documentation of this file.
21 #include "absl/status/status.h"
22 #include "absl/status/statusor.h"
23 #include "absl/strings/str_cat.h"
24 #include "absl/strings/str_format.h"
41 std::unique_ptr<ResolverFactory> factory) {
69 if (factory ==
nullptr)
return false;
76 std::shared_ptr<WorkSerializer> work_serializer,
77 std::unique_ptr<Resolver::ResultHandler> result_handler)
const {
82 if (factory ==
nullptr)
return nullptr;
96 if (factory ==
nullptr)
return "";
112 return it->second.get();
125 if (factory !=
nullptr) {
132 if (factory !=
nullptr) {
136 if (!tmp_uri.
ok() || !tmp_uri2.
ok()) {
139 tmp_uri.
status().ToString(), *canonical_target,
140 tmp_uri2.
status().ToString())
bool HasResolverFactory(absl::string_view scheme) const
Returns true iff scheme already has a registered factory.
ResolverFactory * LookupResolverFactory(absl::string_view scheme) const
virtual OrphanablePtr< Resolver > CreateResolver(ResolverArgs args) const =0
Returns a new resolver instance.
std::string StrCat(const AlphaNum &a, const AlphaNum &b)
ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec< Args... > &format, const Args &... args)
struct grpc_pollset_set grpc_pollset_set
virtual std::string GetDefaultAuthority(const URI &uri) const
static absl::StatusOr< URI > Parse(absl::string_view uri_text)
virtual bool IsValidUri(const URI &uri) const =0
std::string default_prefix
std::string AddDefaultPrefixIfNeeded(absl::string_view target) const
Returns target with the default prefix prepended, if needed.
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
const grpc_channel_args * args
Channel args to be included in resolver results.
ResolverRegistry(const ResolverRegistry &)=delete
def c_str(s, encoding='ascii')
ResolverFactory * FindResolverFactory(absl::string_view target, URI *uri, std::string *canonical_target) const
std::map< absl::string_view, std::unique_ptr< ResolverFactory > > factories
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
std::string GetDefaultAuthority(absl::string_view target) const
Returns the default authority to pass from a client for target.
OrphanablePtr< Resolver > CreateResolver(absl::string_view target, const grpc_channel_args *args, grpc_pollset_set *pollset_set, std::shared_ptr< WorkSerializer > work_serializer, std::unique_ptr< Resolver::ResultHandler > result_handler) const
URI uri
The parsed URI to resolve.
void SetDefaultPrefix(std::string default_prefix)
Sets the default URI prefix to default_prefix.
ABSL_MUST_USE_RESULT bool ok() const
bool IsValidTarget(absl::string_view target) const
Checks whether the user input target is valid to create a resolver.
std::unique_ptr< T, Deleter > OrphanablePtr
grpc_pollset_set * pollset_set
Used to drive I/O in the name resolution process.
void Reset()
Wipe everything in the registry and reset to empty.
std::shared_ptr< WorkSerializer > work_serializer
The work_serializer under which all resolver calls will be run.
std::unique_ptr< Resolver::ResultHandler > result_handler
The result handler to be used by the resolver.
void RegisterResolverFactory(std::unique_ptr< ResolverFactory > factory)
const Status & status() const &
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:11