Go to the documentation of this file.
22 #ifdef GRPC_POSIX_SOCKET_RESOLVE_ADDRESS
25 #include <sys/types.h>
48 class NativeDNSRequest {
63 NativeDNSRequest*
r =
static_cast<NativeDNSRequest*
>(rp);
81 static NativeDNSResolver*
instance =
new NativeDNSResolver();
104 std::vector<grpc_resolved_address> addresses;
116 if (default_port.
empty()) {
125 memset(&hints, 0,
sizeof(hints));
126 hints.ai_family = AF_UNSPEC;
127 hints.ai_socktype = SOCK_STREAM;
128 hints.ai_flags = AI_PASSIVE;
130 s = getaddrinfo(host.c_str(),
port.c_str(), &hints, &
result);
134 const char* svc[][2] = {{
"http",
"80"}, {
"https",
"443"}};
136 if (
port == svc[
i][0]) {
138 s = getaddrinfo(host.c_str(), svc[
i][1], &hints, &
result);
161 addresses.push_back(
addr);
#define GRPC_CLOSURE_INIT(closure, cb, cb_arg, scheduler)
@ GRPC_ERROR_STR_SYSCALL
syscall that generated this error
return memset(p, 0, total)
struct grpc_pollset_set grpc_pollset_set
bool SplitHostPort(absl::string_view name, absl::string_view *host, absl::string_view *port)
RefCountedPtr< grpc_tls_certificate_provider > instance
static void Run(grpc_closure *closure, grpc_error_handle error, ExecutorType executor_type=ExecutorType::DEFAULT, ExecutorJobType job_type=ExecutorJobType::SHORT)
grpc_error_handle grpc_error_set_str(grpc_error_handle src, grpc_error_strs which, absl::string_view str)
@ GRPC_ERROR_STR_TARGET_ADDRESS
peer that we were trying to communicate when this error occurred
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
static constexpr TaskHandle kNullHandle
TaskHandle ResolveName(absl::string_view name, absl::string_view default_port, grpc_pollset_set *, std::function< void(absl::StatusOr< std::vector< grpc_resolved_address >>)> on_done) override
#define GRPC_SCHEDULING_END_BLOCKING_REGION
bool Cancel(TaskHandle handle) override
#define GRPC_ERROR_CREATE_FROM_STATIC_STRING(desc)
@ GRPC_ERROR_STR_OS_ERROR
operating system description of this error
::grpc_event_engine::experimental::EventEngine::DNSResolver::LookupTaskHandle TaskHandle
#define GPR_ARRAY_SIZE(array)
grpc_error_handle grpc_error_set_int(grpc_error_handle src, grpc_error_ints which, intptr_t value)
DNSResolver * GetDNSResolver()
grpc_core::ExecCtx exec_ctx
@ GRPC_ERROR_INT_ERRNO
'errno' from the operating system
#define GRPC_ERROR_UNREF(err)
constexpr bool empty() const noexcept
absl::Status grpc_error_to_absl_status(grpc_error_handle error)
virtual absl::StatusOr< std::vector< grpc_resolved_address > > ResolveNameBlocking(absl::string_view name, absl::string_view default_port)=0
absl::StatusOr< std::vector< grpc_resolved_address > > ResolveNameBlocking(absl::string_view name, absl::string_view default_port) override
static NativeDNSResolver * GetOrCreate()
#define GRPC_SCHEDULING_START_BLOCKING_REGION
#define GRPC_ERROR_IS_NONE(err)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:04