Go to the documentation of this file.
23 #include "absl/strings/str_cat.h"
40 static void*
tag(
intptr_t t) {
return reinterpret_cast<void*
>(t); }
46 const char*
dns_server,
const char*
addr,
const char* default_port,
48 std::unique_ptr<grpc_core::ServerAddressList>* addresses,
49 std::unique_ptr<grpc_core::ServerAddressList>* balancer_addresses,
50 char** service_config_json,
int query_timeout_ms);
84 bool Cancel(TaskHandle )
override {
return false; }
96 std::vector<grpc_resolved_address> addrs;
98 grpc_sockaddr_in* sa =
reinterpret_cast<grpc_sockaddr_in*
>(&
addr);
99 sa->sin_family = GRPC_AF_INET;
100 sa->sin_addr.s_addr = 0x100007f;
102 addr.len =
static_cast<socklen_t
>(
sizeof(*sa));
103 addrs.push_back(
addr);
114 const char*
dns_server,
const char*
addr,
const char* default_port,
116 std::unique_ptr<grpc_core::ServerAddressList>* addresses,
117 std::unique_ptr<grpc_core::ServerAddressList>* balancer_addresses,
118 char** service_config_json,
int query_timeout_ms) {
119 if (0 != strcmp(
addr,
"test")) {
121 dns_server,
addr, default_port, interested_parties, on_done, addresses,
122 balancer_addresses, service_config_json, query_timeout_ms);
131 *addresses = absl::make_unique<grpc_core::ServerAddressList>();
133 memset(&sa, 0,
sizeof(sa));
134 sa.sin_family = GRPC_AF_INET;
135 sa.sin_addr.s_addr = 0x100007f;
137 (*addresses)->emplace_back(&sa,
sizeof(sa),
nullptr);
150 int main(
int argc,
char** argv) {
161 auto* resolver =
new TestDNSResolver();
202 const_cast<char*
>(
"grpc.testing.fixed_reconnect_backoff_ms");
214 client_args.
args = arg_array;
237 tag(0x101),
nullptr));
250 tag(0x102),
nullptr));
266 &request_metadata1,
cq,
cq,
tag(0x301)));
290 tag(0x302),
nullptr));
315 tag(0x201),
nullptr));
328 tag(0x202),
nullptr));
345 &request_metadata2,
cq,
cq,
tag(0x401)));
361 tag(0x402),
nullptr));
GPRAPI void grpc_slice_unref(grpc_slice s)
GPRAPI void gpr_mu_unlock(gpr_mu *mu)
GRPCAPI grpc_call_error grpc_call_cancel(grpc_call *call, void *reserved)
GRPCAPI void grpc_call_details_destroy(grpc_call_details *details)
GRPCAPI void grpc_call_details_init(grpc_call_details *details)
grpc_metadata_array * trailing_metadata
gpr_timespec grpc_timeout_seconds_to_deadline(int64_t time_s)
grpc_status_code * status
std::string StrCat(const AlphaNum &a, const AlphaNum &b)
union grpc_arg::grpc_arg_value value
return memset(p, 0, total)
struct grpc_op::grpc_op_data::grpc_op_send_initial_metadata send_initial_metadata
struct grpc_pollset_set grpc_pollset_set
GRPCAPI grpc_connectivity_state grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect)
GRPCAPI grpc_server * grpc_server_create(const grpc_channel_args *args, void *reserved)
GRPCAPI void grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq, void *reserved)
GPRAPI gpr_timespec gpr_inf_future(gpr_clock_type type)
static void my_cancel_ares_request(grpc_ares_request *request)
static int g_resolve_port
union grpc_op::grpc_op_data data
GRPCAPI grpc_server_credentials * grpc_insecure_server_credentials_create()
GRPCAPI void grpc_metadata_array_destroy(grpc_metadata_array *array)
GPRAPI void gpr_mu_destroy(gpr_mu *mu)
GRPCAPI grpc_call_error grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
#define GRPC_INITIAL_METADATA_WAIT_FOR_READY
void cq_verify_empty(cq_verifier *v)
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
static grpc_ares_request *(* iomgr_dns_lookup_ares)(const char *dns_server, const char *addr, const char *default_port, grpc_pollset_set *interested_parties, grpc_closure *on_done, std::unique_ptr< grpc_core::ServerAddressList > *addresses, std::unique_ptr< grpc_core::ServerAddressList > *balancer_addresses, char **service_config_json, int query_timeout_ms)
GRPCAPI void grpc_server_credentials_release(grpc_server_credentials *creds)
static constexpr TaskHandle kNullHandle
GRPCAPI int grpc_server_add_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)
GRPCAPI void grpc_call_unref(grpc_call *call)
GPRAPI void gpr_mu_init(gpr_mu *mu)
void cq_verifier_destroy(cq_verifier *v)
Status UnknownError(absl::string_view message)
struct grpc_call grpc_call
GRPCAPI grpc_channel_credentials * grpc_insecure_credentials_create()
GPRAPI grpc_slice grpc_slice_from_static_string(const char *source)
cq_verifier * cq_verifier_create(grpc_completion_queue *cq)
struct grpc_server grpc_server
GPRAPI void gpr_mu_lock(gpr_mu *mu)
GRPCAPI void grpc_server_destroy(grpc_server *server)
#define CQ_EXPECT_COMPLETION(v, tag, success)
int grpc_pick_unused_port_or_die(void)
uint16_t grpc_htons(uint16_t hostshort)
#define GRPC_ERROR_CREATE_FROM_STATIC_STRING(desc)
grpc_slice * status_details
GRPCAPI void grpc_channel_credentials_release(grpc_channel_credentials *creds)
GRPCAPI grpc_call * grpc_channel_create_call(grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, grpc_slice method, const grpc_slice *host, gpr_timespec deadline, void *reserved)
struct grpc_op::grpc_op_data::grpc_op_recv_close_on_server recv_close_on_server
static void * tag(intptr_t t)
static void(* iomgr_cancel_ares_request)(grpc_ares_request *request)
GRPCAPI grpc_channel * grpc_channel_create(const char *target, grpc_channel_credentials *creds, const grpc_channel_args *args)
#define GRPC_PROPAGATE_DEFAULTS
GRPCAPI void grpc_completion_queue_destroy(grpc_completion_queue *cq)
@ GRPC_OP_SEND_INITIAL_METADATA
DNSResolver * GetDNSResolver()
int main(int argc, char **argv)
#define GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS
struct grpc_op::grpc_op_data::grpc_op_recv_status_on_client recv_status_on_client
virtual TaskHandle ResolveName(absl::string_view name, absl::string_view default_port, grpc_pollset_set *interested_parties, std::function< void(absl::StatusOr< std::vector< grpc_resolved_address >>)> on_done)=0
GRPCAPI void grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag)
void cq_verify(cq_verifier *v, int timeout_sec)
GRPCAPI void grpc_channel_destroy(grpc_channel *channel)
void SetDNSResolver(DNSResolver *resolver)
grpc_ares_request *(* grpc_dns_lookup_ares)(const char *dns_server, const char *name, const char *default_port, grpc_pollset_set *interested_parties, grpc_closure *on_done, std::unique_ptr< grpc_core::ServerAddressList > *addresses, std::unique_ptr< grpc_core::ServerAddressList > *balancer_addresses, char **service_config_json, int query_timeout_ms)
static grpc_ares_request * my_dns_lookup_ares(const char *dns_server, const char *addr, const char *default_port, grpc_pollset_set *interested_parties, grpc_closure *on_done, std::unique_ptr< grpc_core::ServerAddressList > *addresses, std::unique_ptr< grpc_core::ServerAddressList > *balancer_addresses, char **service_config_json, int query_timeout_ms)
static void Run(const DebugLocation &location, grpc_closure *closure, grpc_error_handle error)
struct grpc_channel grpc_channel
@ GRPC_OP_RECV_CLOSE_ON_SERVER
GRPCAPI void grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)
virtual bool Cancel(TaskHandle handle)=0
GRPCAPI grpc_completion_queue * grpc_completion_queue_create_for_next(void *reserved)
GRPCAPI void grpc_init(void)
GRPCAPI void grpc_server_start(grpc_server *server)
@ GRPC_OP_RECV_STATUS_ON_CLIENT
GRPCAPI grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved)
void(* grpc_cancel_ares_request)(grpc_ares_request *request)
GRPCAPI void grpc_shutdown(void)
static void set_resolve_port(int port)
virtual absl::StatusOr< std::vector< grpc_resolved_address > > ResolveNameBlocking(absl::string_view name, absl::string_view default_port)=0
static grpc_completion_queue * cq
GRPCAPI void grpc_metadata_array_init(grpc_metadata_array *array)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:40