first part, secure channel only

pull/4089/head
yang-g 9 years ago
parent 5cd55dd441
commit a6124120ae
  1. 9
      BUILD
  2. 4
      Makefile
  3. 2
      binding.gyp
  4. 3
      build.yaml
  5. 4
      gRPC.podspec
  6. 2
      src/core/client_config/connector.h
  7. 40
      src/core/client_config/default_initial_connect_string.c
  8. 53
      src/core/client_config/initial_connect_string.c
  9. 51
      src/core/client_config/initial_connect_string.h
  10. 7
      src/core/client_config/subchannel.c
  11. 28
      src/core/surface/secure_channel_create.c
  12. 3
      tools/doxygen/Doxyfile.core.internal
  13. 8
      tools/run_tests/sources_and_headers.json
  14. 5
      vsprojects/vcxproj/grpc/grpc.vcxproj
  15. 9
      vsprojects/vcxproj/grpc/grpc.vcxproj.filters
  16. 5
      vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
  17. 9
      vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters

@ -162,6 +162,7 @@ cc_library(
"src/core/channel/noop_filter.h", "src/core/channel/noop_filter.h",
"src/core/client_config/client_config.h", "src/core/client_config/client_config.h",
"src/core/client_config/connector.h", "src/core/client_config/connector.h",
"src/core/client_config/initial_connect_string.h",
"src/core/client_config/lb_policies/pick_first.h", "src/core/client_config/lb_policies/pick_first.h",
"src/core/client_config/lb_policies/round_robin.h", "src/core/client_config/lb_policies/round_robin.h",
"src/core/client_config/lb_policy.h", "src/core/client_config/lb_policy.h",
@ -298,6 +299,8 @@ cc_library(
"src/core/channel/noop_filter.c", "src/core/channel/noop_filter.c",
"src/core/client_config/client_config.c", "src/core/client_config/client_config.c",
"src/core/client_config/connector.c", "src/core/client_config/connector.c",
"src/core/client_config/default_initial_connect_string.c",
"src/core/client_config/initial_connect_string.c",
"src/core/client_config/lb_policies/pick_first.c", "src/core/client_config/lb_policies/pick_first.c",
"src/core/client_config/lb_policies/round_robin.c", "src/core/client_config/lb_policies/round_robin.c",
"src/core/client_config/lb_policy.c", "src/core/client_config/lb_policy.c",
@ -450,6 +453,7 @@ cc_library(
"src/core/channel/noop_filter.h", "src/core/channel/noop_filter.h",
"src/core/client_config/client_config.h", "src/core/client_config/client_config.h",
"src/core/client_config/connector.h", "src/core/client_config/connector.h",
"src/core/client_config/initial_connect_string.h",
"src/core/client_config/lb_policies/pick_first.h", "src/core/client_config/lb_policies/pick_first.h",
"src/core/client_config/lb_policies/round_robin.h", "src/core/client_config/lb_policies/round_robin.h",
"src/core/client_config/lb_policy.h", "src/core/client_config/lb_policy.h",
@ -566,6 +570,8 @@ cc_library(
"src/core/channel/noop_filter.c", "src/core/channel/noop_filter.c",
"src/core/client_config/client_config.c", "src/core/client_config/client_config.c",
"src/core/client_config/connector.c", "src/core/client_config/connector.c",
"src/core/client_config/default_initial_connect_string.c",
"src/core/client_config/initial_connect_string.c",
"src/core/client_config/lb_policies/pick_first.c", "src/core/client_config/lb_policies/pick_first.c",
"src/core/client_config/lb_policies/round_robin.c", "src/core/client_config/lb_policies/round_robin.c",
"src/core/client_config/lb_policy.c", "src/core/client_config/lb_policy.c",
@ -1094,6 +1100,8 @@ objc_library(
"src/core/channel/noop_filter.c", "src/core/channel/noop_filter.c",
"src/core/client_config/client_config.c", "src/core/client_config/client_config.c",
"src/core/client_config/connector.c", "src/core/client_config/connector.c",
"src/core/client_config/default_initial_connect_string.c",
"src/core/client_config/initial_connect_string.c",
"src/core/client_config/lb_policies/pick_first.c", "src/core/client_config/lb_policies/pick_first.c",
"src/core/client_config/lb_policies/round_robin.c", "src/core/client_config/lb_policies/round_robin.c",
"src/core/client_config/lb_policy.c", "src/core/client_config/lb_policy.c",
@ -1243,6 +1251,7 @@ objc_library(
"src/core/channel/noop_filter.h", "src/core/channel/noop_filter.h",
"src/core/client_config/client_config.h", "src/core/client_config/client_config.h",
"src/core/client_config/connector.h", "src/core/client_config/connector.h",
"src/core/client_config/initial_connect_string.h",
"src/core/client_config/lb_policies/pick_first.h", "src/core/client_config/lb_policies/pick_first.h",
"src/core/client_config/lb_policies/round_robin.h", "src/core/client_config/lb_policies/round_robin.h",
"src/core/client_config/lb_policy.h", "src/core/client_config/lb_policy.h",

@ -4302,6 +4302,8 @@ LIBGRPC_SRC = \
src/core/channel/noop_filter.c \ src/core/channel/noop_filter.c \
src/core/client_config/client_config.c \ src/core/client_config/client_config.c \
src/core/client_config/connector.c \ src/core/client_config/connector.c \
src/core/client_config/default_initial_connect_string.c \
src/core/client_config/initial_connect_string.c \
src/core/client_config/lb_policies/pick_first.c \ src/core/client_config/lb_policies/pick_first.c \
src/core/client_config/lb_policies/round_robin.c \ src/core/client_config/lb_policies/round_robin.c \
src/core/client_config/lb_policy.c \ src/core/client_config/lb_policy.c \
@ -4584,6 +4586,8 @@ LIBGRPC_UNSECURE_SRC = \
src/core/channel/noop_filter.c \ src/core/channel/noop_filter.c \
src/core/client_config/client_config.c \ src/core/client_config/client_config.c \
src/core/client_config/connector.c \ src/core/client_config/connector.c \
src/core/client_config/default_initial_connect_string.c \
src/core/client_config/initial_connect_string.c \
src/core/client_config/lb_policies/pick_first.c \ src/core/client_config/lb_policies/pick_first.c \
src/core/client_config/lb_policies/round_robin.c \ src/core/client_config/lb_policies/round_robin.c \
src/core/client_config/lb_policy.c \ src/core/client_config/lb_policy.c \

@ -185,6 +185,8 @@
'src/core/channel/noop_filter.c', 'src/core/channel/noop_filter.c',
'src/core/client_config/client_config.c', 'src/core/client_config/client_config.c',
'src/core/client_config/connector.c', 'src/core/client_config/connector.c',
'src/core/client_config/default_initial_connect_string.c',
'src/core/client_config/initial_connect_string.c',
'src/core/client_config/lb_policies/pick_first.c', 'src/core/client_config/lb_policies/pick_first.c',
'src/core/client_config/lb_policies/round_robin.c', 'src/core/client_config/lb_policies/round_robin.c',
'src/core/client_config/lb_policy.c', 'src/core/client_config/lb_policy.c',

@ -118,6 +118,7 @@ filegroups:
- src/core/channel/noop_filter.h - src/core/channel/noop_filter.h
- src/core/client_config/client_config.h - src/core/client_config/client_config.h
- src/core/client_config/connector.h - src/core/client_config/connector.h
- src/core/client_config/initial_connect_string.h
- src/core/client_config/lb_policies/pick_first.h - src/core/client_config/lb_policies/pick_first.h
- src/core/client_config/lb_policies/round_robin.h - src/core/client_config/lb_policies/round_robin.h
- src/core/client_config/lb_policy.h - src/core/client_config/lb_policy.h
@ -231,6 +232,8 @@ filegroups:
- src/core/channel/noop_filter.c - src/core/channel/noop_filter.c
- src/core/client_config/client_config.c - src/core/client_config/client_config.c
- src/core/client_config/connector.c - src/core/client_config/connector.c
- src/core/client_config/default_initial_connect_string.c
- src/core/client_config/initial_connect_string.c
- src/core/client_config/lb_policies/pick_first.c - src/core/client_config/lb_policies/pick_first.c
- src/core/client_config/lb_policies/round_robin.c - src/core/client_config/lb_policies/round_robin.c
- src/core/client_config/lb_policy.c - src/core/client_config/lb_policy.c

@ -166,6 +166,7 @@ Pod::Spec.new do |s|
'src/core/channel/noop_filter.h', 'src/core/channel/noop_filter.h',
'src/core/client_config/client_config.h', 'src/core/client_config/client_config.h',
'src/core/client_config/connector.h', 'src/core/client_config/connector.h',
'src/core/client_config/initial_connect_string.h',
'src/core/client_config/lb_policies/pick_first.h', 'src/core/client_config/lb_policies/pick_first.h',
'src/core/client_config/lb_policies/round_robin.h', 'src/core/client_config/lb_policies/round_robin.h',
'src/core/client_config/lb_policy.h', 'src/core/client_config/lb_policy.h',
@ -309,6 +310,8 @@ Pod::Spec.new do |s|
'src/core/channel/noop_filter.c', 'src/core/channel/noop_filter.c',
'src/core/client_config/client_config.c', 'src/core/client_config/client_config.c',
'src/core/client_config/connector.c', 'src/core/client_config/connector.c',
'src/core/client_config/default_initial_connect_string.c',
'src/core/client_config/initial_connect_string.c',
'src/core/client_config/lb_policies/pick_first.c', 'src/core/client_config/lb_policies/pick_first.c',
'src/core/client_config/lb_policies/round_robin.c', 'src/core/client_config/lb_policies/round_robin.c',
'src/core/client_config/lb_policy.c', 'src/core/client_config/lb_policy.c',
@ -460,6 +463,7 @@ Pod::Spec.new do |s|
'src/core/channel/noop_filter.h', 'src/core/channel/noop_filter.h',
'src/core/client_config/client_config.h', 'src/core/client_config/client_config.h',
'src/core/client_config/connector.h', 'src/core/client_config/connector.h',
'src/core/client_config/initial_connect_string.h',
'src/core/client_config/lb_policies/pick_first.h', 'src/core/client_config/lb_policies/pick_first.h',
'src/core/client_config/lb_policies/round_robin.h', 'src/core/client_config/lb_policies/round_robin.h',
'src/core/client_config/lb_policy.h', 'src/core/client_config/lb_policy.h',

@ -51,6 +51,8 @@ typedef struct {
/** address to connect to */ /** address to connect to */
const struct sockaddr *addr; const struct sockaddr *addr;
size_t addr_len; size_t addr_len;
/** initial connect string to send */
gpr_slice initial_connect_string;
/** deadline for connection */ /** deadline for connection */
gpr_timespec deadline; gpr_timespec deadline;
/** channel arguments (to be passed to transport) */ /** channel arguments (to be passed to transport) */

@ -0,0 +1,40 @@
/*
*
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#include <sys/socket.h>
#include <grpc/support/slice.h>
void grpc_set_default_initial_connect_string(struct sockaddr **addr,
size_t *addr_len,
gpr_slice *initial_str) {}

@ -0,0 +1,53 @@
/*
*
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "src/core/client_config/initial_connect_string.h"
#include <stddef.h>
extern void grpc_set_default_initial_connect_string(struct sockaddr **addr,
size_t *addr_len,
gpr_slice *initial_str);
static grpc_set_initial_connect_string_func g_set_initial_connect_string_func =
grpc_set_default_initial_connect_string;
void grpc_test_set_initial_connect_string_function(
grpc_set_initial_connect_string_func func) {
g_set_initial_connect_string_func = func;
}
void grpc_set_initial_connect_string(struct sockaddr **addr, size_t *addr_len,
gpr_slice *initial_str) {
g_set_initial_connect_string_func(addr, addr_len, initial_str);
}

@ -0,0 +1,51 @@
/*
*
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H
#define GRPC_INTERNAL_CORE_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H
#include <sys/socket.h>
#include <grpc/support/slice.h>
typedef void (*grpc_set_initial_connect_string_func)(struct sockaddr **addr,
size_t *addr_len,
gpr_slice *initial_str);
void grpc_test_set_initial_connect_string_function(
grpc_set_initial_connect_string_func func);
/** Set a string to be sent once connected. Optionally reset addr. */
void grpc_set_initial_connect_string(struct sockaddr **addr, size_t *addr_len,
gpr_slice *connect_string);
#endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H */

@ -40,6 +40,7 @@
#include "src/core/channel/channel_args.h" #include "src/core/channel/channel_args.h"
#include "src/core/channel/client_channel.h" #include "src/core/channel/client_channel.h"
#include "src/core/channel/connected_channel.h" #include "src/core/channel/connected_channel.h"
#include "src/core/client_config/initial_connect_string.h"
#include "src/core/iomgr/timer.h" #include "src/core/iomgr/timer.h"
#include "src/core/transport/connectivity_state.h" #include "src/core/transport/connectivity_state.h"
#include "src/core/surface/channel.h" #include "src/core/surface/channel.h"
@ -85,6 +86,8 @@ struct grpc_subchannel {
/** address to connect to */ /** address to connect to */
struct sockaddr *addr; struct sockaddr *addr;
size_t addr_len; size_t addr_len;
/** initial string to send to peer */
gpr_slice initial_connect_string;
/** metadata context */ /** metadata context */
grpc_mdctx *mdctx; grpc_mdctx *mdctx;
/** master channel - the grpc_channel instance that ultimately owns /** master channel - the grpc_channel instance that ultimately owns
@ -261,6 +264,7 @@ static void subchannel_destroy(grpc_exec_ctx *exec_ctx, grpc_subchannel *c) {
gpr_free((void *)c->filters); gpr_free((void *)c->filters);
grpc_channel_args_destroy(c->args); grpc_channel_args_destroy(c->args);
gpr_free(c->addr); gpr_free(c->addr);
gpr_slice_unref(c->initial_connect_string);
grpc_mdctx_unref(c->mdctx); grpc_mdctx_unref(c->mdctx);
grpc_connectivity_state_destroy(exec_ctx, &c->state_tracker); grpc_connectivity_state_destroy(exec_ctx, &c->state_tracker);
grpc_connector_unref(exec_ctx, c->connector); grpc_connector_unref(exec_ctx, c->connector);
@ -299,6 +303,8 @@ grpc_subchannel *grpc_subchannel_create(grpc_connector *connector,
c->addr = gpr_malloc(args->addr_len); c->addr = gpr_malloc(args->addr_len);
memcpy(c->addr, args->addr, args->addr_len); memcpy(c->addr, args->addr, args->addr_len);
c->addr_len = args->addr_len; c->addr_len = args->addr_len;
grpc_set_initial_connect_string(&c->addr, &c->addr_len,
&c->initial_connect_string);
c->args = grpc_channel_args_copy(args->args); c->args = grpc_channel_args_copy(args->args);
c->mdctx = args->mdctx; c->mdctx = args->mdctx;
c->master = args->master; c->master = args->master;
@ -343,6 +349,7 @@ static void continue_connect(grpc_exec_ctx *exec_ctx, grpc_subchannel *c) {
args.addr_len = c->addr_len; args.addr_len = c->addr_len;
args.deadline = compute_connect_deadline(c); args.deadline = compute_connect_deadline(c);
args.channel_args = c->args; args.channel_args = c->args;
args.initial_connect_string = c->initial_connect_string;
grpc_connector_connect(exec_ctx, c->connector, &args, &c->connecting_result, grpc_connector_connect(exec_ctx, c->connector, &args, &c->connecting_result,
&c->connected); &c->connected);

@ -37,6 +37,8 @@
#include <string.h> #include <string.h>
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/slice.h>
#include <grpc/support/slice_buffer.h>
#include "src/core/census/grpc_filter.h" #include "src/core/census/grpc_filter.h"
#include "src/core/channel/channel_args.h" #include "src/core/channel/channel_args.h"
@ -61,6 +63,8 @@ typedef struct {
grpc_closure *notify; grpc_closure *notify;
grpc_connect_in_args args; grpc_connect_in_args args;
grpc_connect_out_args *result; grpc_connect_out_args *result;
grpc_closure initial_string_sent;
gpr_slice_buffer initial_string_buffer;
gpr_mu mu; gpr_mu mu;
grpc_endpoint *connecting_endpoint; grpc_endpoint *connecting_endpoint;
@ -80,6 +84,7 @@ static void connector_unref(grpc_exec_ctx *exec_ctx, grpc_connector *con) {
connector *c = (connector *)con; connector *c = (connector *)con;
if (gpr_unref(&c->refs)) { if (gpr_unref(&c->refs)) {
grpc_mdctx_unref(c->mdctx); grpc_mdctx_unref(c->mdctx);
/* c->initial_string_buffer does not need to be destroyed */
gpr_free(c); gpr_free(c);
} }
} }
@ -118,6 +123,14 @@ static void on_secure_handshake_done(grpc_exec_ctx *exec_ctx, void *arg,
notify->cb(exec_ctx, notify->cb_arg, 1); notify->cb(exec_ctx, notify->cb_arg, 1);
} }
static void on_initial_connect_string_sent(grpc_exec_ctx *exec_ctx, void *arg,
int success) {
connector *c = arg;
grpc_security_connector_do_handshake(exec_ctx, &c->security_connector->base,
c->connecting_endpoint,
on_secure_handshake_done, c);
}
static void connected(grpc_exec_ctx *exec_ctx, void *arg, int success) { static void connected(grpc_exec_ctx *exec_ctx, void *arg, int success) {
connector *c = arg; connector *c = arg;
grpc_closure *notify; grpc_closure *notify;
@ -127,8 +140,19 @@ static void connected(grpc_exec_ctx *exec_ctx, void *arg, int success) {
GPR_ASSERT(c->connecting_endpoint == NULL); GPR_ASSERT(c->connecting_endpoint == NULL);
c->connecting_endpoint = tcp; c->connecting_endpoint = tcp;
gpr_mu_unlock(&c->mu); gpr_mu_unlock(&c->mu);
grpc_security_connector_do_handshake(exec_ctx, &c->security_connector->base, if (!GPR_SLICE_IS_EMPTY(c->args.initial_connect_string)) {
tcp, on_secure_handshake_done, c); grpc_closure_init(&c->initial_string_sent, on_initial_connect_string_sent,
c);
gpr_slice_buffer_init(&c->initial_string_buffer);
gpr_slice_buffer_add(&c->initial_string_buffer,
c->args.initial_connect_string);
grpc_endpoint_write(exec_ctx, tcp, &c->initial_string_buffer,
&c->initial_string_sent);
} else {
grpc_security_connector_do_handshake(exec_ctx,
&c->security_connector->base, tcp,
on_secure_handshake_done, c);
}
} else { } else {
memset(c->result, 0, sizeof(*c->result)); memset(c->result, 0, sizeof(*c->result));
notify = c->notify; notify = c->notify;

@ -793,6 +793,7 @@ src/core/channel/http_server_filter.h \
src/core/channel/noop_filter.h \ src/core/channel/noop_filter.h \
src/core/client_config/client_config.h \ src/core/client_config/client_config.h \
src/core/client_config/connector.h \ src/core/client_config/connector.h \
src/core/client_config/initial_connect_string.h \
src/core/client_config/lb_policies/pick_first.h \ src/core/client_config/lb_policies/pick_first.h \
src/core/client_config/lb_policies/round_robin.h \ src/core/client_config/lb_policies/round_robin.h \
src/core/client_config/lb_policy.h \ src/core/client_config/lb_policy.h \
@ -929,6 +930,8 @@ src/core/channel/http_server_filter.c \
src/core/channel/noop_filter.c \ src/core/channel/noop_filter.c \
src/core/client_config/client_config.c \ src/core/client_config/client_config.c \
src/core/client_config/connector.c \ src/core/client_config/connector.c \
src/core/client_config/default_initial_connect_string.c \
src/core/client_config/initial_connect_string.c \
src/core/client_config/lb_policies/pick_first.c \ src/core/client_config/lb_policies/pick_first.c \
src/core/client_config/lb_policies/round_robin.c \ src/core/client_config/lb_policies/round_robin.c \
src/core/client_config/lb_policy.c \ src/core/client_config/lb_policy.c \

@ -13300,6 +13300,7 @@
"src/core/channel/noop_filter.h", "src/core/channel/noop_filter.h",
"src/core/client_config/client_config.h", "src/core/client_config/client_config.h",
"src/core/client_config/connector.h", "src/core/client_config/connector.h",
"src/core/client_config/initial_connect_string.h",
"src/core/client_config/lb_policies/pick_first.h", "src/core/client_config/lb_policies/pick_first.h",
"src/core/client_config/lb_policies/round_robin.h", "src/core/client_config/lb_policies/round_robin.h",
"src/core/client_config/lb_policy.h", "src/core/client_config/lb_policy.h",
@ -13456,6 +13457,9 @@
"src/core/client_config/client_config.h", "src/core/client_config/client_config.h",
"src/core/client_config/connector.c", "src/core/client_config/connector.c",
"src/core/client_config/connector.h", "src/core/client_config/connector.h",
"src/core/client_config/default_initial_connect_string.c",
"src/core/client_config/initial_connect_string.c",
"src/core/client_config/initial_connect_string.h",
"src/core/client_config/lb_policies/pick_first.c", "src/core/client_config/lb_policies/pick_first.c",
"src/core/client_config/lb_policies/pick_first.h", "src/core/client_config/lb_policies/pick_first.h",
"src/core/client_config/lb_policies/round_robin.c", "src/core/client_config/lb_policies/round_robin.c",
@ -13809,6 +13813,7 @@
"src/core/channel/noop_filter.h", "src/core/channel/noop_filter.h",
"src/core/client_config/client_config.h", "src/core/client_config/client_config.h",
"src/core/client_config/connector.h", "src/core/client_config/connector.h",
"src/core/client_config/initial_connect_string.h",
"src/core/client_config/lb_policies/pick_first.h", "src/core/client_config/lb_policies/pick_first.h",
"src/core/client_config/lb_policies/round_robin.h", "src/core/client_config/lb_policies/round_robin.h",
"src/core/client_config/lb_policy.h", "src/core/client_config/lb_policy.h",
@ -13951,6 +13956,9 @@
"src/core/client_config/client_config.h", "src/core/client_config/client_config.h",
"src/core/client_config/connector.c", "src/core/client_config/connector.c",
"src/core/client_config/connector.h", "src/core/client_config/connector.h",
"src/core/client_config/default_initial_connect_string.c",
"src/core/client_config/initial_connect_string.c",
"src/core/client_config/initial_connect_string.h",
"src/core/client_config/lb_policies/pick_first.c", "src/core/client_config/lb_policies/pick_first.c",
"src/core/client_config/lb_policies/pick_first.h", "src/core/client_config/lb_policies/pick_first.h",
"src/core/client_config/lb_policies/round_robin.c", "src/core/client_config/lb_policies/round_robin.c",

@ -279,6 +279,7 @@
<ClInclude Include="..\..\..\src\core\channel\noop_filter.h" /> <ClInclude Include="..\..\..\src\core\channel\noop_filter.h" />
<ClInclude Include="..\..\..\src\core\client_config\client_config.h" /> <ClInclude Include="..\..\..\src\core\client_config\client_config.h" />
<ClInclude Include="..\..\..\src\core\client_config\connector.h" /> <ClInclude Include="..\..\..\src\core\client_config\connector.h" />
<ClInclude Include="..\..\..\src\core\client_config\initial_connect_string.h" />
<ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h" /> <ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h" />
<ClInclude Include="..\..\..\src\core\client_config\lb_policies\round_robin.h" /> <ClInclude Include="..\..\..\src\core\client_config\lb_policies\round_robin.h" />
<ClInclude Include="..\..\..\src\core\client_config\lb_policy.h" /> <ClInclude Include="..\..\..\src\core\client_config\lb_policy.h" />
@ -451,6 +452,10 @@
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\connector.c"> <ClCompile Include="..\..\..\src\core\client_config\connector.c">
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\default_initial_connect_string.c">
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\initial_connect_string.c">
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c"> <ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c">
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\lb_policies\round_robin.c"> <ClCompile Include="..\..\..\src\core\client_config\lb_policies\round_robin.c">

@ -103,6 +103,12 @@
<ClCompile Include="..\..\..\src\core\client_config\connector.c"> <ClCompile Include="..\..\..\src\core\client_config\connector.c">
<Filter>src\core\client_config</Filter> <Filter>src\core\client_config</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\default_initial_connect_string.c">
<Filter>src\core\client_config</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\initial_connect_string.c">
<Filter>src\core\client_config</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c"> <ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c">
<Filter>src\core\client_config\lb_policies</Filter> <Filter>src\core\client_config\lb_policies</Filter>
</ClCompile> </ClCompile>
@ -548,6 +554,9 @@
<ClInclude Include="..\..\..\src\core\client_config\connector.h"> <ClInclude Include="..\..\..\src\core\client_config\connector.h">
<Filter>src\core\client_config</Filter> <Filter>src\core\client_config</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\src\core\client_config\initial_connect_string.h">
<Filter>src\core\client_config</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h"> <ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h">
<Filter>src\core\client_config\lb_policies</Filter> <Filter>src\core\client_config\lb_policies</Filter>
</ClInclude> </ClInclude>

@ -258,6 +258,7 @@
<ClInclude Include="..\..\..\src\core\channel\noop_filter.h" /> <ClInclude Include="..\..\..\src\core\channel\noop_filter.h" />
<ClInclude Include="..\..\..\src\core\client_config\client_config.h" /> <ClInclude Include="..\..\..\src\core\client_config\client_config.h" />
<ClInclude Include="..\..\..\src\core\client_config\connector.h" /> <ClInclude Include="..\..\..\src\core\client_config\connector.h" />
<ClInclude Include="..\..\..\src\core\client_config\initial_connect_string.h" />
<ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h" /> <ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h" />
<ClInclude Include="..\..\..\src\core\client_config\lb_policies\round_robin.h" /> <ClInclude Include="..\..\..\src\core\client_config\lb_policies\round_robin.h" />
<ClInclude Include="..\..\..\src\core\client_config\lb_policy.h" /> <ClInclude Include="..\..\..\src\core\client_config\lb_policy.h" />
@ -390,6 +391,10 @@
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\connector.c"> <ClCompile Include="..\..\..\src\core\client_config\connector.c">
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\default_initial_connect_string.c">
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\initial_connect_string.c">
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c"> <ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c">
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\lb_policies\round_robin.c"> <ClCompile Include="..\..\..\src\core\client_config\lb_policies\round_robin.c">

@ -43,6 +43,12 @@
<ClCompile Include="..\..\..\src\core\client_config\connector.c"> <ClCompile Include="..\..\..\src\core\client_config\connector.c">
<Filter>src\core\client_config</Filter> <Filter>src\core\client_config</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\default_initial_connect_string.c">
<Filter>src\core\client_config</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\initial_connect_string.c">
<Filter>src\core\client_config</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c"> <ClCompile Include="..\..\..\src\core\client_config\lb_policies\pick_first.c">
<Filter>src\core\client_config\lb_policies</Filter> <Filter>src\core\client_config\lb_policies</Filter>
</ClCompile> </ClCompile>
@ -446,6 +452,9 @@
<ClInclude Include="..\..\..\src\core\client_config\connector.h"> <ClInclude Include="..\..\..\src\core\client_config\connector.h">
<Filter>src\core\client_config</Filter> <Filter>src\core\client_config</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\src\core\client_config\initial_connect_string.h">
<Filter>src\core\client_config</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h"> <ClInclude Include="..\..\..\src\core\client_config\lb_policies\pick_first.h">
<Filter>src\core\client_config\lb_policies</Filter> <Filter>src\core\client_config\lb_policies</Filter>
</ClInclude> </ClInclude>

Loading…
Cancel
Save