aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/client_config/resolver.h
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-06-29 14:36:42 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-06-29 14:36:42 -0700
commit98465035671778ea65891a28bc2c01776a6418cc (patch)
tree3c3de904fc24b462552a00e5081e0f52d93aef5a /src/core/client_config/resolver.h
parentcb22184aef0b344719468317078b869fe26b83c6 (diff)
Debugging
Diffstat (limited to 'src/core/client_config/resolver.h')
-rw-r--r--src/core/client_config/resolver.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/core/client_config/resolver.h b/src/core/client_config/resolver.h
index 7776870c08..16b5964eb6 100644
--- a/src/core/client_config/resolver.h
+++ b/src/core/client_config/resolver.h
@@ -45,11 +45,11 @@ typedef struct grpc_resolver_vtable grpc_resolver_vtable;
objects */
struct grpc_resolver {
const grpc_resolver_vtable *vtable;
+ gpr_refcount refs;
};
struct grpc_resolver_vtable {
- void (*ref)(grpc_resolver *resolver);
- void (*unref)(grpc_resolver *resolver);
+ void (*destroy)(grpc_resolver *resolver);
void (*shutdown)(grpc_resolver *resolver);
void (*channel_saw_error)(grpc_resolver *resolver,
struct sockaddr *failing_address,
@@ -58,8 +58,25 @@ struct grpc_resolver_vtable {
grpc_iomgr_closure *on_complete);
};
-void grpc_resolver_ref(grpc_resolver *resolver);
-void grpc_resolver_unref(grpc_resolver *resolver);
+#ifdef GRPC_RESOLVER_REFCOUNT_DEBUG
+#define GRPC_RESOLVER_REF(p, r) \
+ grpc_resolver_ref((p), __FILE__, __LINE__, (r))
+#define GRPC_RESOLVER_UNREF(p, r) \
+ grpc_resolver_unref((p), __FILE__, __LINE__, (r))
+void grpc_resolver_ref(grpc_resolver *policy, const char *file, int line,
+ const char *reason);
+void grpc_resolver_unref(grpc_resolver *policy, const char *file, int line,
+ const char *reason);
+#else
+#define GRPC_RESOLVER_REF(p, r) grpc_resolver_ref((p))
+#define GRPC_RESOLVER_UNREF(p, r) grpc_resolver_unref((p))
+void grpc_resolver_ref(grpc_resolver *policy);
+void grpc_resolver_unref(grpc_resolver *policy);
+#endif
+
+void grpc_resolver_init(grpc_resolver *resolver,
+ const grpc_resolver_vtable *vtable);
+
void grpc_resolver_shutdown(grpc_resolver *resolver);
/** Notification that the channel has seen an error on some address.