Skip to content
Snippets Groups Projects
Commit cd62075e authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Formatting

parent 00de6983
No related branches found
No related tags found
No related merge requests found
......@@ -82,7 +82,7 @@ typedef struct {
/** zookeeper handle */
zhandle_t *zookeeper_handle;
/** zookeeper resolved addresses */
grpc_resolved_addresses * resolved_addrs;
grpc_resolved_addresses *resolved_addrs;
/** total number of addresses to be resolved */
int resolved_total;
/** resolved number of addresses */
......@@ -96,13 +96,14 @@ static void zookeeper_maybe_finish_next_locked(zookeeper_resolver *r);
static void zookeeper_shutdown(grpc_resolver *r);
static void zookeeper_channel_saw_error(grpc_resolver *r,
struct sockaddr *failing_address,
int failing_address_len);
struct sockaddr *failing_address,
int failing_address_len);
static void zookeeper_next(grpc_resolver *r, grpc_client_config **target_config,
grpc_iomgr_closure *on_complete);
grpc_iomgr_closure *on_complete);
static const grpc_resolver_vtable zookeeper_resolver_vtable = {
zookeeper_destroy, zookeeper_shutdown, zookeeper_channel_saw_error, zookeeper_next};
zookeeper_destroy, zookeeper_shutdown, zookeeper_channel_saw_error,
zookeeper_next};
static void zookeeper_shutdown(grpc_resolver *resolver) {
zookeeper_resolver *r = (zookeeper_resolver *)resolver;
......@@ -116,8 +117,8 @@ static void zookeeper_shutdown(grpc_resolver *resolver) {
gpr_mu_unlock(&r->mu);
}
static void zookeeper_channel_saw_error(grpc_resolver *resolver, struct sockaddr *sa,
int len) {
static void zookeeper_channel_saw_error(grpc_resolver *resolver,
struct sockaddr *sa, int len) {
zookeeper_resolver *r = (zookeeper_resolver *)resolver;
gpr_mu_lock(&r->mu);
if (!r->resolving) {
......@@ -127,8 +128,8 @@ static void zookeeper_channel_saw_error(grpc_resolver *resolver, struct sockaddr
}
static void zookeeper_next(grpc_resolver *resolver,
grpc_client_config **target_config,
grpc_iomgr_closure *on_complete) {
grpc_client_config **target_config,
grpc_iomgr_closure *on_complete) {
zookeeper_resolver *r = (zookeeper_resolver *)resolver;
gpr_mu_lock(&r->mu);
GPR_ASSERT(!r->next_completion);
......@@ -142,7 +143,8 @@ static void zookeeper_next(grpc_resolver *resolver,
gpr_mu_unlock(&r->mu);
}
static void zookeeper_on_resolved(void *arg, grpc_resolved_addresses *addresses) {
static void zookeeper_on_resolved(void *arg,
grpc_resolved_addresses *addresses) {
zookeeper_resolver *r = arg;
grpc_client_config *config = NULL;
grpc_subchannel **subchannels;
......@@ -180,17 +182,21 @@ static void zookeeper_on_resolved(void *arg, grpc_resolved_addresses *addresses)
}
/* Callback function for each DNS resolved address */
static void zookeeper_dns_resolved(void *arg, grpc_resolved_addresses *addresses) {
static void zookeeper_dns_resolved(void *arg,
grpc_resolved_addresses *addresses) {
size_t i;
zookeeper_resolver *r = arg;
gpr_mu_lock(&r->mu);
r->resolved_num++;
r->resolved_addrs->addrs = gpr_realloc(r->resolved_addrs->addrs,
sizeof(grpc_resolved_address) * (r->resolved_addrs->naddrs + addresses->naddrs));
r->resolved_addrs->addrs =
gpr_realloc(r->resolved_addrs->addrs,
sizeof(grpc_resolved_address) *
(r->resolved_addrs->naddrs + addresses->naddrs));
for (i = 0; i < addresses->naddrs; i++) {
memcpy(r->resolved_addrs->addrs[i + r->resolved_addrs->naddrs].addr,
addresses->addrs[i].addr, addresses->addrs[i].len);
r->resolved_addrs->addrs[i + r->resolved_addrs->naddrs].len = addresses->addrs[i].len;
memcpy(r->resolved_addrs->addrs[i + r->resolved_addrs->naddrs].addr,
addresses->addrs[i].addr, addresses->addrs[i].len);
r->resolved_addrs->addrs[i + r->resolved_addrs->naddrs].len =
addresses->addrs[i].len;
}
r->resolved_addrs->naddrs += addresses->naddrs;
......@@ -211,7 +217,7 @@ static char *zookeeper_parse_address(char *buffer, int buffer_len) {
char *port;
char *address;
grpc_json *json;
grpc_json *cur;
grpc_json *cur;
address = NULL;
json = grpc_json_parse_string_with_len(buffer, buffer_len);
......@@ -221,13 +227,10 @@ static char *zookeeper_parse_address(char *buffer, int buffer_len) {
for (cur = json->child; cur != NULL; cur = cur->next) {
if (!strcmp(cur->key, "host")) {
host = (char *)cur->value;
if (port != NULL)
break;
}
else if (!strcmp(cur->key, "port")) {
if (port != NULL) break;
} else if (!strcmp(cur->key, "port")) {
port = (char *)cur->value;
if (host != NULL)
break;
if (host != NULL) break;
}
}
if (host != NULL && port != NULL) {
......@@ -238,13 +241,15 @@ static char *zookeeper_parse_address(char *buffer, int buffer_len) {
strcat(address, port);
}
grpc_json_destroy(json);
}
}
return address;
}
static void zookeeper_get_children_node_completion(int rc, const char *value, int value_len,
const struct Stat *stat, const void *arg) {
static void zookeeper_get_children_node_completion(int rc, const char *value,
int value_len,
const struct Stat *stat,
const void *arg) {
char *address = NULL;
zookeeper_resolver *r = (zookeeper_resolver *)arg;
......@@ -270,8 +275,8 @@ static void zookeeper_get_children_node_completion(int rc, const char *value, in
}
}
static void zookeeper_get_children_completion(int rc, const struct String_vector *children,
const void *arg) {
static void zookeeper_get_children_completion(
int rc, const struct String_vector *children, const void *arg) {
int status;
char path[GRPC_MAX_ZOOKEEPER_BUFFER_SIZE];
int i;
......@@ -297,15 +302,16 @@ static void zookeeper_get_children_completion(int rc, const struct String_vector
strcat(path, r->name);
strcat(path, "/");
strcat(path, children->data[i]);
status = zoo_aget(r->zookeeper_handle, path, GRPC_ZOOKEEPER_WATCH,
zookeeper_get_children_node_completion, r);
if (status)
gpr_log(GPR_ERROR, "Error in getting zookeeper node %s", path);
status = zoo_aget(r->zookeeper_handle, path, GRPC_ZOOKEEPER_WATCH,
zookeeper_get_children_node_completion, r);
if (status) gpr_log(GPR_ERROR, "Error in getting zookeeper node %s", path);
}
}
static void zookeeper_get_node_completion(int rc, const char *value, int value_len,
const struct Stat *stat, const void *arg) {
static void zookeeper_get_node_completion(int rc, const char *value,
int value_len,
const struct Stat *stat,
const void *arg) {
int status;
char *address = NULL;
zookeeper_resolver *r = (zookeeper_resolver *)arg;
......@@ -319,7 +325,8 @@ static void zookeeper_get_node_completion(int rc, const char *value, int value_l
return;
}
/* If zookeeper node of path r->name does not have address (i.e. service node),
/* If zookeeper node of path r->name does not have address (i.e. service
node),
get its children */
address = zookeeper_parse_address((char *)value, value_len);
if (address != NULL) {
......@@ -333,18 +340,17 @@ static void zookeeper_get_node_completion(int rc, const char *value, int value_l
return;
}
status = zoo_aget_children(r->zookeeper_handle, r->name, GRPC_ZOOKEEPER_WATCH,
zookeeper_get_children_completion, r);
status = zoo_aget_children(r->zookeeper_handle, r->name, GRPC_ZOOKEEPER_WATCH,
zookeeper_get_children_completion, r);
if (status)
gpr_log(GPR_ERROR, "Error in getting zookeeper children of %s", r->name);
}
static void zookeeper_resolve_address(zookeeper_resolver *r) {
int status;
status = zoo_aget(r->zookeeper_handle, r->name, GRPC_ZOOKEEPER_WATCH,
zookeeper_get_node_completion, r);
if (status)
gpr_log(GPR_ERROR, "Error in getting zookeeper node %s", r->name);
status = zoo_aget(r->zookeeper_handle, r->name, GRPC_ZOOKEEPER_WATCH,
zookeeper_get_node_completion, r);
if (status) gpr_log(GPR_ERROR, "Error in getting zookeeper node %s", r->name);
}
static void zookeeper_start_resolving_locked(zookeeper_resolver *r) {
......@@ -380,8 +386,8 @@ static void zookeeper_destroy(grpc_resolver *gr) {
}
/* Zookeeper watcher function - handle updates to any watched nodes */
static void zookeeper_watcher(zhandle_t *zookeeper_handle, int type, int state,
const char* path, void* watcher_ctx) {}
static void zookeeper_watcher(zhandle_t *zookeeper_handle, int type, int state,
const char *path, void *watcher_ctx) {}
static grpc_resolver *zookeeper_create(
grpc_uri *uri,
......@@ -401,18 +407,18 @@ static grpc_resolver *zookeeper_create(
gpr_mu_init(&r->mu);
grpc_resolver_init(&r->base, &zookeeper_resolver_vtable);
r->name = gpr_strdup(path);
if (r->name[strlen(r->name)-1] == '/') {
r->name[strlen(r->name)-1] = 0;
}
if (r->name[strlen(r->name) - 1] == '/') {
r->name[strlen(r->name) - 1] = 0;
}
r->subchannel_factory = subchannel_factory;
r->lb_policy_factory = lb_policy_factory;
grpc_subchannel_factory_ref(subchannel_factory);
/* Initialize zookeeper client */
zoo_set_debug_level(ZOO_LOG_LEVEL_WARN);
r->zookeeper_handle = zookeeper_init(uri->authority, zookeeper_watcher,
GRPC_ZOOKEEPER_TIMEOUT, 0, 0, 0);
if (r->zookeeper_handle == NULL) {
r->zookeeper_handle = zookeeper_init(uri->authority, zookeeper_watcher,
GRPC_ZOOKEEPER_TIMEOUT, 0, 0, 0);
if (r->zookeeper_handle == NULL) {
gpr_log(GPR_ERROR, "Unable to connect to zookeeper server");
return NULL;
}
......@@ -421,7 +427,8 @@ static grpc_resolver *zookeeper_create(
}
static void zookeeper_plugin_init() {
grpc_register_resolver_type("zookeeper", grpc_zookeeper_resolver_factory_create());
grpc_register_resolver_type("zookeeper",
grpc_zookeeper_resolver_factory_create());
}
void grpc_zookeeper_register() {
......@@ -440,12 +447,14 @@ static grpc_resolver *zookeeper_factory_create_resolver(
grpc_resolver_factory *factory, grpc_uri *uri,
grpc_subchannel_factory *subchannel_factory) {
return zookeeper_create(uri, grpc_create_pick_first_lb_policy,
subchannel_factory);
subchannel_factory);
}
static const grpc_resolver_factory_vtable zookeeper_factory_vtable = {
zookeeper_factory_ref, zookeeper_factory_unref, zookeeper_factory_create_resolver};
static grpc_resolver_factory zookeeper_resolver_factory = {&zookeeper_factory_vtable};
zookeeper_factory_ref, zookeeper_factory_unref,
zookeeper_factory_create_resolver};
static grpc_resolver_factory zookeeper_resolver_factory = {
&zookeeper_factory_vtable};
grpc_resolver_factory *grpc_zookeeper_resolver_factory_create() {
return &zookeeper_resolver_factory;
......
......@@ -31,7 +31,7 @@
*
*/
/* This is just a compilation test, to see if we have Zookeeper C client
/* This is just a compilation test, to see if we have Zookeeper C client
library installed. */
#include <stdlib.h>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment