Decouple filter selection from channel construction
Allow plugins to extend the set of filters used by gRPC core: - plugins at construction time can register against the 'channel_init' system to be allowed to mutate a new channel_stack_builder type - channel_stack_builder provides a central and rather dynamic place to construct the list of filters required by a channel stack - ultimately we construct the channel stack in the fashion we always have This is also a prerequisite step to allowing filters to be implemented from wrapped languages.
This commit is contained in:
parent
c15cd723eb
commit
178edfae2b
30
BUILD
30
BUILD
|
|
@ -169,8 +169,10 @@ cc_library(
|
|||
"src/core/tsi/transport_security.h",
|
||||
"src/core/tsi/transport_security_interface.h",
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.h",
|
||||
"src/core/channel/compress_filter.h",
|
||||
|
|
@ -249,9 +251,12 @@ cc_library(
|
|||
"src/core/surface/call.h",
|
||||
"src/core/surface/call_test_only.h",
|
||||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.h",
|
||||
"src/core/surface/init.h",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/transport/byte_stream.h",
|
||||
|
|
@ -308,8 +313,10 @@ cc_library(
|
|||
"src/core/tsi/transport_security.c",
|
||||
"src/core/census/grpc_context.c",
|
||||
"src/core/census/grpc_filter.c",
|
||||
"src/core/census/grpc_plugin.c",
|
||||
"src/core/channel/channel_args.c",
|
||||
"src/core/channel/channel_stack.c",
|
||||
"src/core/channel/channel_stack_builder.c",
|
||||
"src/core/channel/client_channel.c",
|
||||
"src/core/channel/client_uchannel.c",
|
||||
"src/core/channel/compress_filter.c",
|
||||
|
|
@ -395,7 +402,9 @@ cc_library(
|
|||
"src/core/surface/channel.c",
|
||||
"src/core/surface/channel_connectivity.c",
|
||||
"src/core/surface/channel_create.c",
|
||||
"src/core/surface/channel_init.c",
|
||||
"src/core/surface/channel_ping.c",
|
||||
"src/core/surface/channel_stack_type.c",
|
||||
"src/core/surface/completion_queue.c",
|
||||
"src/core/surface/event_string.c",
|
||||
"src/core/surface/init.c",
|
||||
|
|
@ -403,7 +412,6 @@ cc_library(
|
|||
"src/core/surface/metadata_array.c",
|
||||
"src/core/surface/server.c",
|
||||
"src/core/surface/server_chttp2.c",
|
||||
"src/core/surface/server_create.c",
|
||||
"src/core/surface/validate_metadata.c",
|
||||
"src/core/surface/version.c",
|
||||
"src/core/transport/byte_stream.c",
|
||||
|
|
@ -475,8 +483,10 @@ cc_library(
|
|||
name = "grpc_unsecure",
|
||||
srcs = [
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.h",
|
||||
"src/core/channel/compress_filter.h",
|
||||
|
|
@ -555,9 +565,12 @@ cc_library(
|
|||
"src/core/surface/call.h",
|
||||
"src/core/surface/call_test_only.h",
|
||||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.h",
|
||||
"src/core/surface/init.h",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/transport/byte_stream.h",
|
||||
|
|
@ -594,8 +607,10 @@ cc_library(
|
|||
"src/core/surface/init_unsecure.c",
|
||||
"src/core/census/grpc_context.c",
|
||||
"src/core/census/grpc_filter.c",
|
||||
"src/core/census/grpc_plugin.c",
|
||||
"src/core/channel/channel_args.c",
|
||||
"src/core/channel/channel_stack.c",
|
||||
"src/core/channel/channel_stack_builder.c",
|
||||
"src/core/channel/client_channel.c",
|
||||
"src/core/channel/client_uchannel.c",
|
||||
"src/core/channel/compress_filter.c",
|
||||
|
|
@ -681,7 +696,9 @@ cc_library(
|
|||
"src/core/surface/channel.c",
|
||||
"src/core/surface/channel_connectivity.c",
|
||||
"src/core/surface/channel_create.c",
|
||||
"src/core/surface/channel_init.c",
|
||||
"src/core/surface/channel_ping.c",
|
||||
"src/core/surface/channel_stack_type.c",
|
||||
"src/core/surface/completion_queue.c",
|
||||
"src/core/surface/event_string.c",
|
||||
"src/core/surface/init.c",
|
||||
|
|
@ -689,7 +706,6 @@ cc_library(
|
|||
"src/core/surface/metadata_array.c",
|
||||
"src/core/surface/server.c",
|
||||
"src/core/surface/server_chttp2.c",
|
||||
"src/core/surface/server_create.c",
|
||||
"src/core/surface/validate_metadata.c",
|
||||
"src/core/surface/version.c",
|
||||
"src/core/transport/byte_stream.c",
|
||||
|
|
@ -1272,8 +1288,10 @@ objc_library(
|
|||
"src/core/tsi/transport_security.c",
|
||||
"src/core/census/grpc_context.c",
|
||||
"src/core/census/grpc_filter.c",
|
||||
"src/core/census/grpc_plugin.c",
|
||||
"src/core/channel/channel_args.c",
|
||||
"src/core/channel/channel_stack.c",
|
||||
"src/core/channel/channel_stack_builder.c",
|
||||
"src/core/channel/client_channel.c",
|
||||
"src/core/channel/client_uchannel.c",
|
||||
"src/core/channel/compress_filter.c",
|
||||
|
|
@ -1359,7 +1377,9 @@ objc_library(
|
|||
"src/core/surface/channel.c",
|
||||
"src/core/surface/channel_connectivity.c",
|
||||
"src/core/surface/channel_create.c",
|
||||
"src/core/surface/channel_init.c",
|
||||
"src/core/surface/channel_ping.c",
|
||||
"src/core/surface/channel_stack_type.c",
|
||||
"src/core/surface/completion_queue.c",
|
||||
"src/core/surface/event_string.c",
|
||||
"src/core/surface/init.c",
|
||||
|
|
@ -1367,7 +1387,6 @@ objc_library(
|
|||
"src/core/surface/metadata_array.c",
|
||||
"src/core/surface/server.c",
|
||||
"src/core/surface/server_chttp2.c",
|
||||
"src/core/surface/server_create.c",
|
||||
"src/core/surface/validate_metadata.c",
|
||||
"src/core/surface/version.c",
|
||||
"src/core/transport/byte_stream.c",
|
||||
|
|
@ -1434,8 +1453,10 @@ objc_library(
|
|||
"src/core/tsi/transport_security.h",
|
||||
"src/core/tsi/transport_security_interface.h",
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.h",
|
||||
"src/core/channel/compress_filter.h",
|
||||
|
|
@ -1514,9 +1535,12 @@ objc_library(
|
|||
"src/core/surface/call.h",
|
||||
"src/core/surface/call_test_only.h",
|
||||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.h",
|
||||
"src/core/surface/init.h",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/transport/byte_stream.h",
|
||||
|
|
|
|||
234
Makefile
234
Makefile
|
|
@ -1022,11 +1022,9 @@ h2_full_test: $(BINDIR)/$(CONFIG)/h2_full_test
|
|||
h2_full+pipe_test: $(BINDIR)/$(CONFIG)/h2_full+pipe_test
|
||||
h2_full+poll_test: $(BINDIR)/$(CONFIG)/h2_full+poll_test
|
||||
h2_full+poll+pipe_test: $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test
|
||||
h2_full+trace_test: $(BINDIR)/$(CONFIG)/h2_full+trace_test
|
||||
h2_oauth2_test: $(BINDIR)/$(CONFIG)/h2_oauth2_test
|
||||
h2_proxy_test: $(BINDIR)/$(CONFIG)/h2_proxy_test
|
||||
h2_sockpair_test: $(BINDIR)/$(CONFIG)/h2_sockpair_test
|
||||
h2_sockpair+trace_test: $(BINDIR)/$(CONFIG)/h2_sockpair+trace_test
|
||||
h2_sockpair_1byte_test: $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test
|
||||
h2_ssl_test: $(BINDIR)/$(CONFIG)/h2_ssl_test
|
||||
h2_ssl+poll_test: $(BINDIR)/$(CONFIG)/h2_ssl+poll_test
|
||||
h2_ssl_proxy_test: $(BINDIR)/$(CONFIG)/h2_ssl_proxy_test
|
||||
|
|
@ -1039,10 +1037,8 @@ h2_full_nosec_test: $(BINDIR)/$(CONFIG)/h2_full_nosec_test
|
|||
h2_full+pipe_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test
|
||||
h2_full+poll_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test
|
||||
h2_full+poll+pipe_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test
|
||||
h2_full+trace_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+trace_nosec_test
|
||||
h2_proxy_nosec_test: $(BINDIR)/$(CONFIG)/h2_proxy_nosec_test
|
||||
h2_sockpair_nosec_test: $(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test
|
||||
h2_sockpair+trace_nosec_test: $(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test
|
||||
h2_sockpair_1byte_nosec_test: $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test
|
||||
h2_uchannel_nosec_test: $(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test
|
||||
h2_uds_nosec_test: $(BINDIR)/$(CONFIG)/h2_uds_nosec_test
|
||||
h2_uds+poll_nosec_test: $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test
|
||||
|
|
@ -1240,11 +1236,9 @@ buildtests_c: privatelibs_c \
|
|||
$(BINDIR)/$(CONFIG)/h2_full+pipe_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_full+poll_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_full+trace_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_oauth2_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_proxy_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair+trace_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_ssl_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_ssl+poll_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_ssl_proxy_test \
|
||||
|
|
@ -1257,10 +1251,8 @@ buildtests_c: privatelibs_c \
|
|||
$(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_full+trace_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_proxy_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_uds_nosec_test \
|
||||
$(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test \
|
||||
|
|
@ -2341,8 +2333,10 @@ LIBGRPC_SRC = \
|
|||
src/core/tsi/transport_security.c \
|
||||
src/core/census/grpc_context.c \
|
||||
src/core/census/grpc_filter.c \
|
||||
src/core/census/grpc_plugin.c \
|
||||
src/core/channel/channel_args.c \
|
||||
src/core/channel/channel_stack.c \
|
||||
src/core/channel/channel_stack_builder.c \
|
||||
src/core/channel/client_channel.c \
|
||||
src/core/channel/client_uchannel.c \
|
||||
src/core/channel/compress_filter.c \
|
||||
|
|
@ -2428,7 +2422,9 @@ LIBGRPC_SRC = \
|
|||
src/core/surface/channel.c \
|
||||
src/core/surface/channel_connectivity.c \
|
||||
src/core/surface/channel_create.c \
|
||||
src/core/surface/channel_init.c \
|
||||
src/core/surface/channel_ping.c \
|
||||
src/core/surface/channel_stack_type.c \
|
||||
src/core/surface/completion_queue.c \
|
||||
src/core/surface/event_string.c \
|
||||
src/core/surface/init.c \
|
||||
|
|
@ -2436,7 +2432,6 @@ LIBGRPC_SRC = \
|
|||
src/core/surface/metadata_array.c \
|
||||
src/core/surface/server.c \
|
||||
src/core/surface/server_chttp2.c \
|
||||
src/core/surface/server_create.c \
|
||||
src/core/surface/validate_metadata.c \
|
||||
src/core/surface/version.c \
|
||||
src/core/transport/byte_stream.c \
|
||||
|
|
@ -2627,8 +2622,10 @@ LIBGRPC_UNSECURE_SRC = \
|
|||
src/core/surface/init_unsecure.c \
|
||||
src/core/census/grpc_context.c \
|
||||
src/core/census/grpc_filter.c \
|
||||
src/core/census/grpc_plugin.c \
|
||||
src/core/channel/channel_args.c \
|
||||
src/core/channel/channel_stack.c \
|
||||
src/core/channel/channel_stack_builder.c \
|
||||
src/core/channel/client_channel.c \
|
||||
src/core/channel/client_uchannel.c \
|
||||
src/core/channel/compress_filter.c \
|
||||
|
|
@ -2714,7 +2711,9 @@ LIBGRPC_UNSECURE_SRC = \
|
|||
src/core/surface/channel.c \
|
||||
src/core/surface/channel_connectivity.c \
|
||||
src/core/surface/channel_create.c \
|
||||
src/core/surface/channel_init.c \
|
||||
src/core/surface/channel_ping.c \
|
||||
src/core/surface/channel_stack_type.c \
|
||||
src/core/surface/completion_queue.c \
|
||||
src/core/surface/event_string.c \
|
||||
src/core/surface/init.c \
|
||||
|
|
@ -2722,7 +2721,6 @@ LIBGRPC_UNSECURE_SRC = \
|
|||
src/core/surface/metadata_array.c \
|
||||
src/core/surface/server.c \
|
||||
src/core/surface/server_chttp2.c \
|
||||
src/core/surface/server_create.c \
|
||||
src/core/surface/validate_metadata.c \
|
||||
src/core/surface/version.c \
|
||||
src/core/transport/byte_stream.c \
|
||||
|
|
@ -12334,6 +12332,38 @@ endif
|
|||
endif
|
||||
|
||||
|
||||
H2_FULL+TRACE_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_full+trace.c \
|
||||
|
||||
H2_FULL+TRACE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+TRACE_TEST_SRC))))
|
||||
ifeq ($(NO_SECURE),true)
|
||||
|
||||
# You can't build secure targets if you don't have OpenSSL.
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_full+trace_test: openssl_dep_error
|
||||
|
||||
else
|
||||
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_full+trace_test: $(H2_FULL+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_FULL+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+trace_test
|
||||
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_full+trace_test: $(H2_FULL+TRACE_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_SECURE),true)
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_FULL+TRACE_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
H2_OAUTH2_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_oauth2.c \
|
||||
|
||||
|
|
@ -12398,102 +12428,6 @@ endif
|
|||
endif
|
||||
|
||||
|
||||
H2_SOCKPAIR_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_sockpair.c \
|
||||
|
||||
H2_SOCKPAIR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_TEST_SRC))))
|
||||
ifeq ($(NO_SECURE),true)
|
||||
|
||||
# You can't build secure targets if you don't have OpenSSL.
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_test: openssl_dep_error
|
||||
|
||||
else
|
||||
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_test: $(H2_SOCKPAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair_test
|
||||
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_sockpair_test: $(H2_SOCKPAIR_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_SECURE),true)
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_SOCKPAIR_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
H2_SOCKPAIR+TRACE_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_sockpair+trace.c \
|
||||
|
||||
H2_SOCKPAIR+TRACE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR+TRACE_TEST_SRC))))
|
||||
ifeq ($(NO_SECURE),true)
|
||||
|
||||
# You can't build secure targets if you don't have OpenSSL.
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair+trace_test: openssl_dep_error
|
||||
|
||||
else
|
||||
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair+trace_test: $(H2_SOCKPAIR+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair+trace_test
|
||||
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_sockpair+trace_test: $(H2_SOCKPAIR+TRACE_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_SECURE),true)
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_SOCKPAIR+TRACE_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
H2_SOCKPAIR_1BYTE_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_sockpair_1byte.c \
|
||||
|
||||
H2_SOCKPAIR_1BYTE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_1BYTE_TEST_SRC))))
|
||||
ifeq ($(NO_SECURE),true)
|
||||
|
||||
# You can't build secure targets if you don't have OpenSSL.
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test: openssl_dep_error
|
||||
|
||||
else
|
||||
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test: $(H2_SOCKPAIR_1BYTE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_1BYTE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test
|
||||
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair_1byte.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_sockpair_1byte_test: $(H2_SOCKPAIR_1BYTE_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_SECURE),true)
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_SOCKPAIR_1BYTE_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
H2_SSL_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_ssl.c \
|
||||
|
||||
|
|
@ -12806,6 +12740,26 @@ ifneq ($(NO_DEPS),true)
|
|||
endif
|
||||
|
||||
|
||||
H2_FULL+TRACE_NOSEC_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_full+trace.c \
|
||||
|
||||
H2_FULL+TRACE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+TRACE_NOSEC_TEST_SRC))))
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_full+trace_nosec_test: $(H2_FULL+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_FULL+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+trace_nosec_test
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_full+trace_nosec_test: $(H2_FULL+TRACE_NOSEC_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_FULL+TRACE_NOSEC_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
|
||||
|
||||
H2_PROXY_NOSEC_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_proxy.c \
|
||||
|
||||
|
|
@ -12826,66 +12780,6 @@ ifneq ($(NO_DEPS),true)
|
|||
endif
|
||||
|
||||
|
||||
H2_SOCKPAIR_NOSEC_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_sockpair.c \
|
||||
|
||||
H2_SOCKPAIR_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_NOSEC_TEST_SRC))))
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test: $(H2_SOCKPAIR_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_sockpair_nosec_test: $(H2_SOCKPAIR_NOSEC_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_SOCKPAIR_NOSEC_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
|
||||
|
||||
H2_SOCKPAIR+TRACE_NOSEC_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_sockpair+trace.c \
|
||||
|
||||
H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR+TRACE_NOSEC_TEST_SRC))))
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test: $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_sockpair+trace_nosec_test: $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
|
||||
|
||||
H2_SOCKPAIR_1BYTE_NOSEC_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_sockpair_1byte.c \
|
||||
|
||||
H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_SRC))))
|
||||
|
||||
|
||||
$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test: $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
$(E) "[LD] Linking $@"
|
||||
$(Q) mkdir -p `dirname $@`
|
||||
$(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test
|
||||
|
||||
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair_1byte.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
|
||||
|
||||
deps_h2_sockpair_1byte_nosec_test: $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS:.o=.dep)
|
||||
|
||||
ifneq ($(NO_DEPS),true)
|
||||
-include $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS:.o=.dep)
|
||||
endif
|
||||
|
||||
|
||||
H2_UCHANNEL_NOSEC_TEST_SRC = \
|
||||
test/core/end2end/fixtures/h2_uchannel.c \
|
||||
|
||||
|
|
|
|||
|
|
@ -580,8 +580,10 @@
|
|||
'src/core/tsi/transport_security.c',
|
||||
'src/core/census/grpc_context.c',
|
||||
'src/core/census/grpc_filter.c',
|
||||
'src/core/census/grpc_plugin.c',
|
||||
'src/core/channel/channel_args.c',
|
||||
'src/core/channel/channel_stack.c',
|
||||
'src/core/channel/channel_stack_builder.c',
|
||||
'src/core/channel/client_channel.c',
|
||||
'src/core/channel/client_uchannel.c',
|
||||
'src/core/channel/compress_filter.c',
|
||||
|
|
@ -667,7 +669,9 @@
|
|||
'src/core/surface/channel.c',
|
||||
'src/core/surface/channel_connectivity.c',
|
||||
'src/core/surface/channel_create.c',
|
||||
'src/core/surface/channel_init.c',
|
||||
'src/core/surface/channel_ping.c',
|
||||
'src/core/surface/channel_stack_type.c',
|
||||
'src/core/surface/completion_queue.c',
|
||||
'src/core/surface/event_string.c',
|
||||
'src/core/surface/init.c',
|
||||
|
|
@ -675,7 +679,6 @@
|
|||
'src/core/surface/metadata_array.c',
|
||||
'src/core/surface/server.c',
|
||||
'src/core/surface/server_chttp2.c',
|
||||
'src/core/surface/server_create.c',
|
||||
'src/core/surface/validate_metadata.c',
|
||||
'src/core/surface/version.c',
|
||||
'src/core/transport/byte_stream.c',
|
||||
|
|
|
|||
10
build.yaml
10
build.yaml
|
|
@ -245,8 +245,10 @@ filegroups:
|
|||
- include/grpc/status.h
|
||||
headers:
|
||||
- src/core/census/grpc_filter.h
|
||||
- src/core/census/grpc_plugin.h
|
||||
- src/core/channel/channel_args.h
|
||||
- src/core/channel/channel_stack.h
|
||||
- src/core/channel/channel_stack_builder.h
|
||||
- src/core/channel/client_channel.h
|
||||
- src/core/channel/client_uchannel.h
|
||||
- src/core/channel/compress_filter.h
|
||||
|
|
@ -325,9 +327,12 @@ filegroups:
|
|||
- src/core/surface/call.h
|
||||
- src/core/surface/call_test_only.h
|
||||
- src/core/surface/channel.h
|
||||
- src/core/surface/channel_init.h
|
||||
- src/core/surface/channel_stack_type.h
|
||||
- src/core/surface/completion_queue.h
|
||||
- src/core/surface/event_string.h
|
||||
- src/core/surface/init.h
|
||||
- src/core/surface/lame_client.h
|
||||
- src/core/surface/server.h
|
||||
- src/core/surface/surface_trace.h
|
||||
- src/core/transport/byte_stream.h
|
||||
|
|
@ -361,8 +366,10 @@ filegroups:
|
|||
src:
|
||||
- src/core/census/grpc_context.c
|
||||
- src/core/census/grpc_filter.c
|
||||
- src/core/census/grpc_plugin.c
|
||||
- src/core/channel/channel_args.c
|
||||
- src/core/channel/channel_stack.c
|
||||
- src/core/channel/channel_stack_builder.c
|
||||
- src/core/channel/client_channel.c
|
||||
- src/core/channel/client_uchannel.c
|
||||
- src/core/channel/compress_filter.c
|
||||
|
|
@ -448,7 +455,9 @@ filegroups:
|
|||
- src/core/surface/channel.c
|
||||
- src/core/surface/channel_connectivity.c
|
||||
- src/core/surface/channel_create.c
|
||||
- src/core/surface/channel_init.c
|
||||
- src/core/surface/channel_ping.c
|
||||
- src/core/surface/channel_stack_type.c
|
||||
- src/core/surface/completion_queue.c
|
||||
- src/core/surface/event_string.c
|
||||
- src/core/surface/init.c
|
||||
|
|
@ -456,7 +465,6 @@ filegroups:
|
|||
- src/core/surface/metadata_array.c
|
||||
- src/core/surface/server.c
|
||||
- src/core/surface/server_chttp2.c
|
||||
- src/core/surface/server_create.c
|
||||
- src/core/surface/validate_metadata.c
|
||||
- src/core/surface/version.c
|
||||
- src/core/transport/byte_stream.c
|
||||
|
|
|
|||
15
gRPC.podspec
15
gRPC.podspec
|
|
@ -173,8 +173,10 @@ Pod::Spec.new do |s|
|
|||
'src/core/tsi/transport_security.h',
|
||||
'src/core/tsi/transport_security_interface.h',
|
||||
'src/core/census/grpc_filter.h',
|
||||
'src/core/census/grpc_plugin.h',
|
||||
'src/core/channel/channel_args.h',
|
||||
'src/core/channel/channel_stack.h',
|
||||
'src/core/channel/channel_stack_builder.h',
|
||||
'src/core/channel/client_channel.h',
|
||||
'src/core/channel/client_uchannel.h',
|
||||
'src/core/channel/compress_filter.h',
|
||||
|
|
@ -253,9 +255,12 @@ Pod::Spec.new do |s|
|
|||
'src/core/surface/call.h',
|
||||
'src/core/surface/call_test_only.h',
|
||||
'src/core/surface/channel.h',
|
||||
'src/core/surface/channel_init.h',
|
||||
'src/core/surface/channel_stack_type.h',
|
||||
'src/core/surface/completion_queue.h',
|
||||
'src/core/surface/event_string.h',
|
||||
'src/core/surface/init.h',
|
||||
'src/core/surface/lame_client.h',
|
||||
'src/core/surface/server.h',
|
||||
'src/core/surface/surface_trace.h',
|
||||
'src/core/transport/byte_stream.h',
|
||||
|
|
@ -325,8 +330,10 @@ Pod::Spec.new do |s|
|
|||
'src/core/tsi/transport_security.c',
|
||||
'src/core/census/grpc_context.c',
|
||||
'src/core/census/grpc_filter.c',
|
||||
'src/core/census/grpc_plugin.c',
|
||||
'src/core/channel/channel_args.c',
|
||||
'src/core/channel/channel_stack.c',
|
||||
'src/core/channel/channel_stack_builder.c',
|
||||
'src/core/channel/client_channel.c',
|
||||
'src/core/channel/client_uchannel.c',
|
||||
'src/core/channel/compress_filter.c',
|
||||
|
|
@ -412,7 +419,9 @@ Pod::Spec.new do |s|
|
|||
'src/core/surface/channel.c',
|
||||
'src/core/surface/channel_connectivity.c',
|
||||
'src/core/surface/channel_create.c',
|
||||
'src/core/surface/channel_init.c',
|
||||
'src/core/surface/channel_ping.c',
|
||||
'src/core/surface/channel_stack_type.c',
|
||||
'src/core/surface/completion_queue.c',
|
||||
'src/core/surface/event_string.c',
|
||||
'src/core/surface/init.c',
|
||||
|
|
@ -420,7 +429,6 @@ Pod::Spec.new do |s|
|
|||
'src/core/surface/metadata_array.c',
|
||||
'src/core/surface/server.c',
|
||||
'src/core/surface/server_chttp2.c',
|
||||
'src/core/surface/server_create.c',
|
||||
'src/core/surface/validate_metadata.c',
|
||||
'src/core/surface/version.c',
|
||||
'src/core/transport/byte_stream.c',
|
||||
|
|
@ -483,8 +491,10 @@ Pod::Spec.new do |s|
|
|||
'src/core/tsi/transport_security.h',
|
||||
'src/core/tsi/transport_security_interface.h',
|
||||
'src/core/census/grpc_filter.h',
|
||||
'src/core/census/grpc_plugin.h',
|
||||
'src/core/channel/channel_args.h',
|
||||
'src/core/channel/channel_stack.h',
|
||||
'src/core/channel/channel_stack_builder.h',
|
||||
'src/core/channel/client_channel.h',
|
||||
'src/core/channel/client_uchannel.h',
|
||||
'src/core/channel/compress_filter.h',
|
||||
|
|
@ -563,9 +573,12 @@ Pod::Spec.new do |s|
|
|||
'src/core/surface/call.h',
|
||||
'src/core/surface/call_test_only.h',
|
||||
'src/core/surface/channel.h',
|
||||
'src/core/surface/channel_init.h',
|
||||
'src/core/surface/channel_stack_type.h',
|
||||
'src/core/surface/completion_queue.h',
|
||||
'src/core/surface/event_string.h',
|
||||
'src/core/surface/init.h',
|
||||
'src/core/surface/lame_client.h',
|
||||
'src/core/surface/server.h',
|
||||
'src/core/surface/surface_trace.h',
|
||||
'src/core/transport/byte_stream.h',
|
||||
|
|
|
|||
10
grpc.gemspec
10
grpc.gemspec
|
|
@ -169,8 +169,10 @@ Gem::Specification.new do |s|
|
|||
s.files += %w( src/core/tsi/transport_security.h )
|
||||
s.files += %w( src/core/tsi/transport_security_interface.h )
|
||||
s.files += %w( src/core/census/grpc_filter.h )
|
||||
s.files += %w( src/core/census/grpc_plugin.h )
|
||||
s.files += %w( src/core/channel/channel_args.h )
|
||||
s.files += %w( src/core/channel/channel_stack.h )
|
||||
s.files += %w( src/core/channel/channel_stack_builder.h )
|
||||
s.files += %w( src/core/channel/client_channel.h )
|
||||
s.files += %w( src/core/channel/client_uchannel.h )
|
||||
s.files += %w( src/core/channel/compress_filter.h )
|
||||
|
|
@ -249,9 +251,12 @@ Gem::Specification.new do |s|
|
|||
s.files += %w( src/core/surface/call.h )
|
||||
s.files += %w( src/core/surface/call_test_only.h )
|
||||
s.files += %w( src/core/surface/channel.h )
|
||||
s.files += %w( src/core/surface/channel_init.h )
|
||||
s.files += %w( src/core/surface/channel_stack_type.h )
|
||||
s.files += %w( src/core/surface/completion_queue.h )
|
||||
s.files += %w( src/core/surface/event_string.h )
|
||||
s.files += %w( src/core/surface/init.h )
|
||||
s.files += %w( src/core/surface/lame_client.h )
|
||||
s.files += %w( src/core/surface/server.h )
|
||||
s.files += %w( src/core/surface/surface_trace.h )
|
||||
s.files += %w( src/core/transport/byte_stream.h )
|
||||
|
|
@ -308,8 +313,10 @@ Gem::Specification.new do |s|
|
|||
s.files += %w( src/core/tsi/transport_security.c )
|
||||
s.files += %w( src/core/census/grpc_context.c )
|
||||
s.files += %w( src/core/census/grpc_filter.c )
|
||||
s.files += %w( src/core/census/grpc_plugin.c )
|
||||
s.files += %w( src/core/channel/channel_args.c )
|
||||
s.files += %w( src/core/channel/channel_stack.c )
|
||||
s.files += %w( src/core/channel/channel_stack_builder.c )
|
||||
s.files += %w( src/core/channel/client_channel.c )
|
||||
s.files += %w( src/core/channel/client_uchannel.c )
|
||||
s.files += %w( src/core/channel/compress_filter.c )
|
||||
|
|
@ -395,7 +402,9 @@ Gem::Specification.new do |s|
|
|||
s.files += %w( src/core/surface/channel.c )
|
||||
s.files += %w( src/core/surface/channel_connectivity.c )
|
||||
s.files += %w( src/core/surface/channel_create.c )
|
||||
s.files += %w( src/core/surface/channel_init.c )
|
||||
s.files += %w( src/core/surface/channel_ping.c )
|
||||
s.files += %w( src/core/surface/channel_stack_type.c )
|
||||
s.files += %w( src/core/surface/completion_queue.c )
|
||||
s.files += %w( src/core/surface/event_string.c )
|
||||
s.files += %w( src/core/surface/init.c )
|
||||
|
|
@ -403,7 +412,6 @@ Gem::Specification.new do |s|
|
|||
s.files += %w( src/core/surface/metadata_array.c )
|
||||
s.files += %w( src/core/surface/server.c )
|
||||
s.files += %w( src/core/surface/server_chttp2.c )
|
||||
s.files += %w( src/core/surface/server_create.c )
|
||||
s.files += %w( src/core/surface/validate_metadata.c )
|
||||
s.files += %w( src/core/surface/version.c )
|
||||
s.files += %w( src/core/transport/byte_stream.c )
|
||||
|
|
|
|||
10
package.json
10
package.json
|
|
@ -114,8 +114,10 @@
|
|||
"src/core/tsi/transport_security.h",
|
||||
"src/core/tsi/transport_security_interface.h",
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.h",
|
||||
"src/core/channel/compress_filter.h",
|
||||
|
|
@ -194,9 +196,12 @@
|
|||
"src/core/surface/call.h",
|
||||
"src/core/surface/call_test_only.h",
|
||||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.h",
|
||||
"src/core/surface/init.h",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/transport/byte_stream.h",
|
||||
|
|
@ -253,8 +258,10 @@
|
|||
"src/core/tsi/transport_security.c",
|
||||
"src/core/census/grpc_context.c",
|
||||
"src/core/census/grpc_filter.c",
|
||||
"src/core/census/grpc_plugin.c",
|
||||
"src/core/channel/channel_args.c",
|
||||
"src/core/channel/channel_stack.c",
|
||||
"src/core/channel/channel_stack_builder.c",
|
||||
"src/core/channel/client_channel.c",
|
||||
"src/core/channel/client_uchannel.c",
|
||||
"src/core/channel/compress_filter.c",
|
||||
|
|
@ -340,7 +347,9 @@
|
|||
"src/core/surface/channel.c",
|
||||
"src/core/surface/channel_connectivity.c",
|
||||
"src/core/surface/channel_create.c",
|
||||
"src/core/surface/channel_init.c",
|
||||
"src/core/surface/channel_ping.c",
|
||||
"src/core/surface/channel_stack_type.c",
|
||||
"src/core/surface/completion_queue.c",
|
||||
"src/core/surface/event_string.c",
|
||||
"src/core/surface/init.c",
|
||||
|
|
@ -348,7 +357,6 @@
|
|||
"src/core/surface/metadata_array.c",
|
||||
"src/core/surface/server.c",
|
||||
"src/core/surface/server_chttp2.c",
|
||||
"src/core/surface/server_create.c",
|
||||
"src/core/surface/validate_metadata.c",
|
||||
"src/core/surface/version.c",
|
||||
"src/core/transport/byte_stream.c",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2015-2016, 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/census/grpc_plugin.h"
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
#include <grpc/census.h>
|
||||
|
||||
#include "src/core/census/grpc_filter.h"
|
||||
#include "src/core/surface/channel_init.h"
|
||||
#include "src/core/channel/channel_stack_builder.h"
|
||||
|
||||
static bool maybe_add_census_filter(grpc_channel_stack_builder *builder,
|
||||
void *arg_must_be_null) {
|
||||
const grpc_channel_args *args =
|
||||
grpc_channel_stack_builder_get_channel_arguments(builder);
|
||||
if (grpc_channel_args_is_census_enabled(args)) {
|
||||
return grpc_channel_stack_builder_prepend_filter(
|
||||
builder, &grpc_client_census_filter, NULL, NULL);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void census_grpc_plugin_init(void) {
|
||||
/* Only initialize census if no one else has and some features are
|
||||
* available. */
|
||||
if (census_enabled() == CENSUS_FEATURE_NONE &&
|
||||
census_supported() != CENSUS_FEATURE_NONE) {
|
||||
if (census_initialize(census_supported())) { /* enable all features. */
|
||||
gpr_log(GPR_ERROR, "Could not initialize census.");
|
||||
}
|
||||
}
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MAX,
|
||||
maybe_add_census_filter, NULL);
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_UCHANNEL, INT_MAX,
|
||||
maybe_add_census_filter, NULL);
|
||||
grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX,
|
||||
maybe_add_census_filter, NULL);
|
||||
}
|
||||
|
||||
void census_grpc_plugin_destroy(void) { census_shutdown(); }
|
||||
|
|
@ -31,18 +31,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <grpc/grpc.h>
|
||||
#include "src/core/census/grpc_filter.h"
|
||||
#include "src/core/channel/channel_args.h"
|
||||
#include "src/core/channel/compress_filter.h"
|
||||
#include "src/core/surface/api_trace.h"
|
||||
#include "src/core/surface/completion_queue.h"
|
||||
#include "src/core/surface/server.h"
|
||||
#ifndef GRPC_INTERNAL_CORE_CENSUS_GRPC_PLUGIN_H
|
||||
#define GRPC_INTERNAL_CORE_CENSUS_GRPC_PLUGIN_H
|
||||
|
||||
grpc_server *grpc_server_create(const grpc_channel_args *args, void *reserved) {
|
||||
const grpc_channel_filter *filters[3];
|
||||
size_t num_filters = 0;
|
||||
filters[num_filters++] = &grpc_compress_filter;
|
||||
GRPC_API_TRACE("grpc_server_create(%p, %p)", 2, (args, reserved));
|
||||
return grpc_server_create_from_filters(filters, num_filters, args);
|
||||
}
|
||||
void census_grpc_plugin_init(void);
|
||||
void census_grpc_plugin_destroy(void);
|
||||
|
||||
#endif /* GRPC_INTERNAL_CORE_CENSUS_GRPC_PLUGIN_H */
|
||||
|
|
@ -0,0 +1,256 @@
|
|||
/*
|
||||
*
|
||||
* 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/channel/channel_stack_builder.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <grpc/support/alloc.h>
|
||||
|
||||
#define BEGIN_SENTINAL ((grpc_channel_filter *)1)
|
||||
#define END_SENTINAL ((grpc_channel_filter *)2)
|
||||
|
||||
typedef struct filter_node {
|
||||
struct filter_node *next;
|
||||
struct filter_node *prev;
|
||||
const grpc_channel_filter *filter;
|
||||
grpc_post_filter_create_init_func init;
|
||||
void *init_arg;
|
||||
} filter_node;
|
||||
|
||||
struct grpc_channel_stack_builder {
|
||||
// sentinal nodes for filters that have been added
|
||||
filter_node begin;
|
||||
filter_node end;
|
||||
// various set/get-able parameters
|
||||
const grpc_channel_args *args;
|
||||
grpc_transport *transport;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
struct grpc_channel_stack_builder_iterator {
|
||||
grpc_channel_stack_builder *builder;
|
||||
filter_node *node;
|
||||
};
|
||||
|
||||
grpc_channel_stack_builder *grpc_channel_stack_builder_create(void) {
|
||||
grpc_channel_stack_builder *b = gpr_malloc(sizeof(*b));
|
||||
memset(b, 0, sizeof(*b));
|
||||
|
||||
b->begin.filter = BEGIN_SENTINAL;
|
||||
b->end.filter = END_SENTINAL;
|
||||
b->begin.next = &b->end;
|
||||
b->begin.prev = &b->end;
|
||||
b->end.next = &b->begin;
|
||||
b->end.prev = &b->begin;
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
static grpc_channel_stack_builder_iterator *create_iterator_at_filter_node(
|
||||
grpc_channel_stack_builder *builder, filter_node *node) {
|
||||
grpc_channel_stack_builder_iterator *it = gpr_malloc(sizeof(*it));
|
||||
it->builder = builder;
|
||||
it->node = node;
|
||||
return it;
|
||||
}
|
||||
|
||||
void grpc_channel_stack_builder_iterator_destroy(
|
||||
grpc_channel_stack_builder_iterator *it) {
|
||||
gpr_free(it);
|
||||
}
|
||||
|
||||
grpc_channel_stack_builder_iterator *
|
||||
grpc_channel_stack_builder_create_iterator_at_first(
|
||||
grpc_channel_stack_builder *builder) {
|
||||
return create_iterator_at_filter_node(builder, &builder->begin);
|
||||
}
|
||||
|
||||
grpc_channel_stack_builder_iterator *
|
||||
grpc_channel_stack_builder_create_iterator_at_last(
|
||||
grpc_channel_stack_builder *builder) {
|
||||
return create_iterator_at_filter_node(builder, &builder->end);
|
||||
}
|
||||
|
||||
bool grpc_channel_stack_builder_move_next(
|
||||
grpc_channel_stack_builder_iterator *iterator) {
|
||||
if (iterator->node == &iterator->builder->end) return false;
|
||||
iterator->node = iterator->node->next;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool grpc_channel_stack_builder_move_prev(
|
||||
grpc_channel_stack_builder_iterator *iterator) {
|
||||
if (iterator->node == &iterator->builder->begin) return false;
|
||||
iterator->node = iterator->node->prev;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool grpc_channel_stack_builder_move_prev(
|
||||
grpc_channel_stack_builder_iterator *iterator);
|
||||
|
||||
void grpc_channel_stack_builder_set_name(grpc_channel_stack_builder *builder,
|
||||
const char *name) {
|
||||
GPR_ASSERT(builder->name == NULL);
|
||||
builder->name = name;
|
||||
}
|
||||
|
||||
void grpc_channel_stack_builder_set_channel_arguments(
|
||||
grpc_channel_stack_builder *builder, const grpc_channel_args *args) {
|
||||
GPR_ASSERT(builder->args == NULL);
|
||||
builder->args = args;
|
||||
}
|
||||
|
||||
void grpc_channel_stack_builder_set_transport(
|
||||
grpc_channel_stack_builder *builder, grpc_transport *transport) {
|
||||
GPR_ASSERT(builder->transport == NULL);
|
||||
builder->transport = transport;
|
||||
}
|
||||
|
||||
grpc_transport *grpc_channel_stack_builder_get_transport(
|
||||
grpc_channel_stack_builder *builder) {
|
||||
return builder->transport;
|
||||
}
|
||||
|
||||
const grpc_channel_args *grpc_channel_stack_builder_get_channel_arguments(
|
||||
grpc_channel_stack_builder *builder) {
|
||||
return builder->args;
|
||||
}
|
||||
|
||||
bool grpc_channel_stack_builder_append_filter(
|
||||
grpc_channel_stack_builder *builder, const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func, void *user_data) {
|
||||
grpc_channel_stack_builder_iterator *it =
|
||||
grpc_channel_stack_builder_create_iterator_at_last(builder);
|
||||
bool ok = grpc_channel_stack_builder_add_filter_before(
|
||||
it, filter, post_init_func, user_data);
|
||||
grpc_channel_stack_builder_iterator_destroy(it);
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool grpc_channel_stack_builder_prepend_filter(
|
||||
grpc_channel_stack_builder *builder, const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func, void *user_data) {
|
||||
grpc_channel_stack_builder_iterator *it =
|
||||
grpc_channel_stack_builder_create_iterator_at_first(builder);
|
||||
bool ok = grpc_channel_stack_builder_add_filter_after(
|
||||
it, filter, post_init_func, user_data);
|
||||
grpc_channel_stack_builder_iterator_destroy(it);
|
||||
return ok;
|
||||
}
|
||||
|
||||
static void add_after(filter_node *before, const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func,
|
||||
void *user_data) {
|
||||
filter_node *new = gpr_malloc(sizeof(*new));
|
||||
new->next = before->next;
|
||||
new->prev = before;
|
||||
new->next->prev = new->prev->next = new;
|
||||
new->filter = filter;
|
||||
new->init = post_init_func;
|
||||
new->init_arg = user_data;
|
||||
}
|
||||
|
||||
bool grpc_channel_stack_builder_add_filter_before(
|
||||
grpc_channel_stack_builder_iterator *iterator,
|
||||
const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func, void *user_data) {
|
||||
if (iterator->node == &iterator->builder->begin) return false;
|
||||
add_after(iterator->node->prev, filter, post_init_func, user_data);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool grpc_channel_stack_builder_add_filter_after(
|
||||
grpc_channel_stack_builder_iterator *iterator,
|
||||
const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func, void *user_data) {
|
||||
if (iterator->node == &iterator->builder->end) return false;
|
||||
add_after(iterator->node, filter, post_init_func, user_data);
|
||||
return true;
|
||||
}
|
||||
|
||||
void grpc_channel_stack_builder_destroy(grpc_channel_stack_builder *builder) {
|
||||
filter_node *p = builder->begin.next;
|
||||
while (p != &builder->end) {
|
||||
filter_node *next = p->next;
|
||||
gpr_free(p);
|
||||
p = next;
|
||||
}
|
||||
gpr_free(builder);
|
||||
}
|
||||
|
||||
void *grpc_channel_stack_builder_finish(grpc_exec_ctx *exec_ctx,
|
||||
grpc_channel_stack_builder *builder,
|
||||
size_t prefix_bytes, int initial_refs,
|
||||
grpc_iomgr_cb_func destroy,
|
||||
void *destroy_arg) {
|
||||
// count the number of filters
|
||||
size_t num_filters = 0;
|
||||
for (filter_node *p = builder->begin.next; p != &builder->end; p = p->next) {
|
||||
num_filters++;
|
||||
}
|
||||
|
||||
// create an array of filters
|
||||
const grpc_channel_filter *filters[num_filters];
|
||||
size_t i = 0;
|
||||
for (filter_node *p = builder->begin.next; p != &builder->end; p = p->next) {
|
||||
filters[i++] = p->filter;
|
||||
}
|
||||
|
||||
// calculate the size of the channel stack
|
||||
size_t channel_stack_size = grpc_channel_stack_size(filters, num_filters);
|
||||
|
||||
// allocate memory, with prefix_bytes followed by channel_stack_size
|
||||
char *result = gpr_malloc(prefix_bytes + channel_stack_size);
|
||||
// fetch a pointer to the channel stack
|
||||
grpc_channel_stack *channel_stack =
|
||||
(grpc_channel_stack *)(result + prefix_bytes);
|
||||
// and initialize it
|
||||
grpc_channel_stack_init(exec_ctx, initial_refs, destroy,
|
||||
destroy_arg == NULL ? result : destroy_arg, filters,
|
||||
num_filters, builder->args, builder->name,
|
||||
channel_stack);
|
||||
|
||||
// run post-initialization functions
|
||||
i = 0;
|
||||
for (filter_node *p = builder->begin.next; p != &builder->end; p = p->next) {
|
||||
if (p->init != NULL)
|
||||
p->init(channel_stack, grpc_channel_stack_element(channel_stack, i),
|
||||
p->init_arg);
|
||||
i++;
|
||||
}
|
||||
|
||||
grpc_channel_stack_builder_destroy(builder);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
/*
|
||||
*
|
||||
* 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_CHANNEL_CHANNEL_BUILDER_H
|
||||
#define GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_BUILDER_H
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "src/core/channel/channel_args.h"
|
||||
#include "src/core/channel/channel_stack.h"
|
||||
|
||||
// grpc_channel_stack_builder offers a programmatic interface to selected
|
||||
// and order channel filters
|
||||
typedef struct grpc_channel_stack_builder grpc_channel_stack_builder;
|
||||
typedef struct grpc_channel_stack_builder_iterator
|
||||
grpc_channel_stack_builder_iterator;
|
||||
|
||||
// Create a new channel stack builder
|
||||
grpc_channel_stack_builder *grpc_channel_stack_builder_create(void);
|
||||
|
||||
// Assign a name to the channel stack: string must be statically allocated
|
||||
void grpc_channel_stack_builder_set_name(grpc_channel_stack_builder *builder,
|
||||
const char *name);
|
||||
|
||||
// Attach a transport to the builder (does not take ownership)
|
||||
void grpc_channel_stack_builder_set_transport(
|
||||
grpc_channel_stack_builder *builder, grpc_transport *transport);
|
||||
|
||||
// Fetch attached transport
|
||||
grpc_transport *grpc_channel_stack_builder_get_transport(
|
||||
grpc_channel_stack_builder *builder);
|
||||
|
||||
// Set channel arguments: they must continue to exist until after
|
||||
// grpc_channel_stack_builder_finish returns
|
||||
void grpc_channel_stack_builder_set_channel_arguments(
|
||||
grpc_channel_stack_builder *builder, const grpc_channel_args *args);
|
||||
|
||||
// Return a borrowed pointer to the channel arguments
|
||||
const grpc_channel_args *grpc_channel_stack_builder_get_channel_arguments(
|
||||
grpc_channel_stack_builder *builder);
|
||||
|
||||
// Begin iterating over already defined filters in the builder
|
||||
grpc_channel_stack_builder_iterator *
|
||||
grpc_channel_stack_builder_create_iterator_at_first(
|
||||
grpc_channel_stack_builder *builder);
|
||||
grpc_channel_stack_builder_iterator *
|
||||
grpc_channel_stack_builder_create_iterator_at_last(
|
||||
grpc_channel_stack_builder *builder);
|
||||
|
||||
// Is an iterator at the first element?
|
||||
bool grpc_channel_stack_builder_iterator_is_first(
|
||||
grpc_channel_stack_builder_iterator *iterator);
|
||||
|
||||
// Is an iterator at the end?
|
||||
bool grpc_channel_stack_builder_iterator_is_end(
|
||||
grpc_channel_stack_builder_iterator *iterator);
|
||||
|
||||
// Move an iterator to the next item
|
||||
bool grpc_channel_stack_builder_move_next(
|
||||
grpc_channel_stack_builder_iterator *iterator);
|
||||
|
||||
bool grpc_channel_stack_builder_move_prev(
|
||||
grpc_channel_stack_builder_iterator *iterator);
|
||||
|
||||
typedef void (*grpc_post_filter_create_init_func)(
|
||||
grpc_channel_stack *channel_stack, grpc_channel_element *elem, void *arg);
|
||||
|
||||
// Add a filter to the stack, after the given iterator
|
||||
bool grpc_channel_stack_builder_add_filter_after(
|
||||
grpc_channel_stack_builder_iterator *iterator,
|
||||
const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func,
|
||||
void *user_data) GRPC_MUST_USE_RESULT;
|
||||
|
||||
// Add a filter to the stack, before the given iterator
|
||||
bool grpc_channel_stack_builder_add_filter_before(
|
||||
grpc_channel_stack_builder_iterator *iterator,
|
||||
const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func,
|
||||
void *user_data) GRPC_MUST_USE_RESULT;
|
||||
|
||||
// Add a filter to the beginning of the filter list
|
||||
bool grpc_channel_stack_builder_prepend_filter(
|
||||
grpc_channel_stack_builder *builder, const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func,
|
||||
void *user_data) GRPC_MUST_USE_RESULT;
|
||||
|
||||
// Add a filter to the end of the filter list
|
||||
bool grpc_channel_stack_builder_append_filter(
|
||||
grpc_channel_stack_builder *builder, const grpc_channel_filter *filter,
|
||||
grpc_post_filter_create_init_func post_init_func,
|
||||
void *user_data) GRPC_MUST_USE_RESULT;
|
||||
|
||||
// Terminate iteration
|
||||
void grpc_channel_stack_builder_iterator_destroy(
|
||||
grpc_channel_stack_builder_iterator *iterator);
|
||||
|
||||
// Destroy the builder, return the freshly minted channel stack
|
||||
void *grpc_channel_stack_builder_finish(grpc_exec_ctx *exec_ctx,
|
||||
grpc_channel_stack_builder *builder,
|
||||
size_t prefix_bytes, int initial_refs,
|
||||
grpc_iomgr_cb_func destroy,
|
||||
void *destroy_arg);
|
||||
|
||||
// Destroy the builder without creating a channel stack
|
||||
void grpc_channel_stack_builder_destroy(grpc_channel_stack_builder *builder);
|
||||
|
||||
#endif
|
||||
|
|
@ -212,20 +212,10 @@ void grpc_client_uchannel_watch_connectivity_state(
|
|||
grpc_channel *grpc_client_uchannel_create(grpc_subchannel *subchannel,
|
||||
grpc_channel_args *args) {
|
||||
grpc_channel *channel = NULL;
|
||||
#define MAX_FILTERS 3
|
||||
const grpc_channel_filter *filters[MAX_FILTERS];
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
size_t n = 0;
|
||||
|
||||
if (grpc_channel_args_is_census_enabled(args)) {
|
||||
filters[n++] = &grpc_client_census_filter;
|
||||
}
|
||||
filters[n++] = &grpc_compress_filter;
|
||||
filters[n++] = &grpc_client_uchannel_filter;
|
||||
GPR_ASSERT(n <= MAX_FILTERS);
|
||||
|
||||
channel =
|
||||
grpc_channel_create_from_filters(&exec_ctx, NULL, filters, n, args, 1);
|
||||
grpc_channel_create(&exec_ctx, NULL, args, GRPC_CLIENT_UCHANNEL, NULL);
|
||||
|
||||
return channel;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,6 @@ static void con_start_transport_stream_op(grpc_exec_ctx *exec_ctx,
|
|||
grpc_transport_stream_op *op) {
|
||||
call_data *calld = elem->call_data;
|
||||
channel_data *chand = elem->channel_data;
|
||||
GPR_ASSERT(elem->filter == &grpc_connected_channel_filter);
|
||||
GRPC_CALL_LOG_OP(GPR_INFO, elem, op);
|
||||
|
||||
grpc_transport_perform_stream_op(exec_ctx, chand->transport,
|
||||
|
|
@ -88,7 +87,6 @@ static void init_call_elem(grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
|
|||
channel_data *chand = elem->channel_data;
|
||||
int r;
|
||||
|
||||
GPR_ASSERT(elem->filter == &grpc_connected_channel_filter);
|
||||
r = grpc_transport_init_stream(
|
||||
exec_ctx, chand->transport, TRANSPORT_STREAM_FROM_CALL_DATA(calld),
|
||||
&args->call_stack->refcount, args->server_transport_data);
|
||||
|
|
@ -108,7 +106,6 @@ static void destroy_call_elem(grpc_exec_ctx *exec_ctx,
|
|||
grpc_call_element *elem) {
|
||||
call_data *calld = elem->call_data;
|
||||
channel_data *chand = elem->channel_data;
|
||||
GPR_ASSERT(elem->filter == &grpc_connected_channel_filter);
|
||||
grpc_transport_destroy_stream(exec_ctx, chand->transport,
|
||||
TRANSPORT_STREAM_FROM_CALL_DATA(calld));
|
||||
}
|
||||
|
|
@ -119,7 +116,6 @@ static void init_channel_elem(grpc_exec_ctx *exec_ctx,
|
|||
grpc_channel_element_args *args) {
|
||||
channel_data *cd = (channel_data *)elem->channel_data;
|
||||
GPR_ASSERT(args->is_last);
|
||||
GPR_ASSERT(elem->filter == &grpc_connected_channel_filter);
|
||||
cd->transport = NULL;
|
||||
}
|
||||
|
||||
|
|
@ -127,7 +123,6 @@ static void init_channel_elem(grpc_exec_ctx *exec_ctx,
|
|||
static void destroy_channel_elem(grpc_exec_ctx *exec_ctx,
|
||||
grpc_channel_element *elem) {
|
||||
channel_data *cd = (channel_data *)elem->channel_data;
|
||||
GPR_ASSERT(elem->filter == &grpc_connected_channel_filter);
|
||||
grpc_transport_destroy(exec_ctx, cd->transport);
|
||||
}
|
||||
|
||||
|
|
@ -136,21 +131,18 @@ static char *con_get_peer(grpc_exec_ctx *exec_ctx, grpc_call_element *elem) {
|
|||
return grpc_transport_get_peer(exec_ctx, chand->transport);
|
||||
}
|
||||
|
||||
const grpc_channel_filter grpc_connected_channel_filter = {
|
||||
static const grpc_channel_filter connected_channel_filter = {
|
||||
con_start_transport_stream_op, con_start_transport_op, sizeof(call_data),
|
||||
init_call_elem, set_pollset, destroy_call_elem, sizeof(channel_data),
|
||||
init_channel_elem, destroy_channel_elem, con_get_peer, "connected",
|
||||
};
|
||||
|
||||
void grpc_connected_channel_bind_transport(grpc_channel_stack *channel_stack,
|
||||
grpc_transport *transport) {
|
||||
/* Assumes that the connected channel filter is always the last filter
|
||||
in a channel stack */
|
||||
grpc_channel_element *elem = grpc_channel_stack_last_element(channel_stack);
|
||||
static void bind_transport(grpc_channel_stack *channel_stack,
|
||||
grpc_channel_element *elem, void *t) {
|
||||
channel_data *cd = (channel_data *)elem->channel_data;
|
||||
GPR_ASSERT(elem->filter == &grpc_connected_channel_filter);
|
||||
GPR_ASSERT(elem->filter == &connected_channel_filter);
|
||||
GPR_ASSERT(cd->transport == NULL);
|
||||
cd->transport = transport;
|
||||
cd->transport = t;
|
||||
|
||||
/* HACK(ctiller): increase call stack size for the channel to make space
|
||||
for channel data. We need a cleaner (but performant) way to do this,
|
||||
|
|
@ -158,7 +150,16 @@ void grpc_connected_channel_bind_transport(grpc_channel_stack *channel_stack,
|
|||
This is only "safe" because call stacks place no additional data after
|
||||
the last call element, and the last call element MUST be the connected
|
||||
channel. */
|
||||
channel_stack->call_stack_size += grpc_transport_stream_size(transport);
|
||||
channel_stack->call_stack_size += grpc_transport_stream_size(t);
|
||||
}
|
||||
|
||||
bool grpc_add_connected_filter(grpc_channel_stack_builder *builder,
|
||||
void *arg_must_be_null) {
|
||||
GPR_ASSERT(arg_must_be_null == NULL);
|
||||
grpc_transport *t = grpc_channel_stack_builder_get_transport(builder);
|
||||
GPR_ASSERT(t != NULL);
|
||||
return grpc_channel_stack_builder_append_filter(
|
||||
builder, &connected_channel_filter, bind_transport, t);
|
||||
}
|
||||
|
||||
grpc_stream *grpc_connected_channel_get_stream(grpc_call_element *elem) {
|
||||
|
|
|
|||
|
|
@ -34,18 +34,9 @@
|
|||
#ifndef GRPC_INTERNAL_CORE_CHANNEL_CONNECTED_CHANNEL_H
|
||||
#define GRPC_INTERNAL_CORE_CHANNEL_CONNECTED_CHANNEL_H
|
||||
|
||||
#include "src/core/channel/channel_stack.h"
|
||||
#include "src/core/channel/channel_stack_builder.h"
|
||||
|
||||
/* A channel filter representing a channel that is on a connected transport.
|
||||
This filter performs actual sending and receiving of messages. */
|
||||
|
||||
extern const grpc_channel_filter grpc_connected_channel_filter;
|
||||
|
||||
/* Post construction fixup: set the transport in the connected channel.
|
||||
Must be called before any call stack using this filter is used. */
|
||||
void grpc_connected_channel_bind_transport(grpc_channel_stack* channel_stack,
|
||||
grpc_transport* transport);
|
||||
|
||||
grpc_stream* grpc_connected_channel_get_stream(grpc_call_element* elem);
|
||||
bool grpc_add_connected_filter(grpc_channel_stack_builder *builder,
|
||||
void *arg_must_be_null);
|
||||
|
||||
#endif /* GRPC_INTERNAL_CORE_CHANNEL_CONNECTED_CHANNEL_H */
|
||||
|
|
|
|||
|
|
@ -62,9 +62,6 @@ typedef struct {
|
|||
typedef struct {
|
||||
/** the connected transport */
|
||||
grpc_transport *transport;
|
||||
/** any additional filters (owned by the caller of connect) */
|
||||
const grpc_channel_filter **filters;
|
||||
size_t num_filters;
|
||||
|
||||
/** channel arguments (to be passed to the filters) */
|
||||
const grpc_channel_args *channel_args;
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include <grpc/support/avl.h>
|
||||
|
||||
#include "src/core/channel/channel_args.h"
|
||||
#include "src/core/surface/channel_init.h"
|
||||
#include "src/core/channel/client_channel.h"
|
||||
#include "src/core/channel/connected_channel.h"
|
||||
#include "src/core/client_config/initial_connect_string.h"
|
||||
|
|
@ -511,32 +512,15 @@ void grpc_connected_subchannel_ping(grpc_exec_ctx *exec_ctx,
|
|||
}
|
||||
|
||||
static void publish_transport(grpc_exec_ctx *exec_ctx, grpc_subchannel *c) {
|
||||
size_t channel_stack_size;
|
||||
grpc_connected_subchannel *con;
|
||||
grpc_channel_stack *stk;
|
||||
size_t num_filters;
|
||||
const grpc_channel_filter **filters;
|
||||
state_watcher *sw_subchannel;
|
||||
|
||||
/* build final filter list */
|
||||
num_filters = c->num_filters + c->connecting_result.num_filters + 1;
|
||||
filters = gpr_malloc(sizeof(*filters) * num_filters);
|
||||
if (c->num_filters > 0) {
|
||||
memcpy((void *)filters, c->filters, sizeof(*filters) * c->num_filters);
|
||||
}
|
||||
memcpy((void *)(filters + c->num_filters), c->connecting_result.filters,
|
||||
sizeof(*filters) * c->connecting_result.num_filters);
|
||||
filters[num_filters - 1] = &grpc_connected_channel_filter;
|
||||
|
||||
/* construct channel stack */
|
||||
channel_stack_size = grpc_channel_stack_size(filters, num_filters);
|
||||
con = gpr_malloc(channel_stack_size);
|
||||
con = grpc_channel_init_create_stack(
|
||||
exec_ctx, GRPC_CLIENT_SUBCHANNEL, 0, c->connecting_result.channel_args, 1,
|
||||
connection_destroy, NULL, c->connecting_result.transport);
|
||||
stk = CHANNEL_STACK_FROM_CONNECTION(con);
|
||||
grpc_channel_stack_init(exec_ctx, 1, connection_destroy, con, filters,
|
||||
num_filters, c->connecting_result.channel_args,
|
||||
"CONNECTED_SUBCHANNEL", stk);
|
||||
grpc_connected_channel_bind_transport(stk, c->connecting_result.transport);
|
||||
gpr_free((void *)c->connecting_result.filters);
|
||||
memset(&c->connecting_result, 0, sizeof(c->connecting_result));
|
||||
|
||||
/* initialize state watcher */
|
||||
|
|
@ -551,7 +535,6 @@ static void publish_transport(grpc_exec_ctx *exec_ctx, grpc_subchannel *c) {
|
|||
if (c->disconnected) {
|
||||
gpr_mu_unlock(&c->mu);
|
||||
gpr_free(sw_subchannel);
|
||||
gpr_free((void *)filters);
|
||||
grpc_channel_stack_destroy(exec_ctx, stk);
|
||||
gpr_free(con);
|
||||
GRPC_SUBCHANNEL_WEAK_UNREF(exec_ctx, c, "connecting");
|
||||
|
|
@ -581,7 +564,6 @@ static void publish_transport(grpc_exec_ctx *exec_ctx, grpc_subchannel *c) {
|
|||
"connected");
|
||||
|
||||
gpr_mu_unlock(&c->mu);
|
||||
gpr_free((void *)filters);
|
||||
}
|
||||
|
||||
/* Generate a random number between 0 and 1. */
|
||||
|
|
|
|||
|
|
@ -83,8 +83,6 @@ static void state_unref(grpc_server_secure_state *state) {
|
|||
static void setup_transport(grpc_exec_ctx *exec_ctx, void *statep,
|
||||
grpc_transport *transport,
|
||||
grpc_auth_context *auth_context) {
|
||||
static grpc_channel_filter const *extra_filters[] = {
|
||||
&grpc_server_auth_filter, &grpc_http_server_filter};
|
||||
grpc_server_secure_state *state = statep;
|
||||
grpc_channel_args *args_copy;
|
||||
grpc_arg args_to_add[2];
|
||||
|
|
@ -93,8 +91,7 @@ static void setup_transport(grpc_exec_ctx *exec_ctx, void *statep,
|
|||
args_copy = grpc_channel_args_copy_and_add(
|
||||
grpc_server_get_channel_args(state->server), args_to_add,
|
||||
GPR_ARRAY_SIZE(args_to_add));
|
||||
grpc_server_setup_transport(exec_ctx, state->server, transport, extra_filters,
|
||||
GPR_ARRAY_SIZE(extra_filters), args_copy);
|
||||
grpc_server_setup_transport(exec_ctx, state->server, transport, args_copy);
|
||||
grpc_channel_args_destroy(args_copy);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
#include <grpc/support/log.h>
|
||||
#include <grpc/support/string_util.h>
|
||||
|
||||
#include "src/core/surface/channel_init.h"
|
||||
#include "src/core/client_config/resolver_registry.h"
|
||||
#include "src/core/iomgr/iomgr.h"
|
||||
#include "src/core/support/string.h"
|
||||
|
|
@ -82,24 +83,25 @@ struct grpc_channel {
|
|||
|
||||
static void destroy_channel(grpc_exec_ctx *exec_ctx, void *arg, bool success);
|
||||
|
||||
grpc_channel *grpc_channel_create_from_filters(
|
||||
grpc_exec_ctx *exec_ctx, const char *target,
|
||||
const grpc_channel_filter **filters, size_t num_filters,
|
||||
const grpc_channel_args *args, int is_client) {
|
||||
size_t i;
|
||||
size_t size =
|
||||
sizeof(grpc_channel) + grpc_channel_stack_size(filters, num_filters);
|
||||
grpc_channel *channel = gpr_malloc(size);
|
||||
grpc_channel *grpc_channel_create(grpc_exec_ctx *exec_ctx, const char *target,
|
||||
const grpc_channel_args *args,
|
||||
grpc_channel_stack_type channel_stack_type,
|
||||
grpc_transport *optional_transport) {
|
||||
bool is_client = grpc_channel_stack_type_is_client(channel_stack_type);
|
||||
|
||||
grpc_channel *channel = grpc_channel_init_create_stack(
|
||||
exec_ctx, channel_stack_type, sizeof(grpc_channel), args, 1,
|
||||
destroy_channel, NULL, optional_transport);
|
||||
|
||||
memset(channel, 0, sizeof(*channel));
|
||||
channel->target = gpr_strdup(target);
|
||||
GPR_ASSERT(grpc_is_initialized() && "call grpc_init()");
|
||||
channel->is_client = is_client;
|
||||
gpr_mu_init(&channel->registered_call_mu);
|
||||
channel->registered_calls = NULL;
|
||||
|
||||
channel->max_message_length = DEFAULT_MAX_MESSAGE_LENGTH;
|
||||
if (args) {
|
||||
for (i = 0; i < args->num_args; i++) {
|
||||
for (size_t i = 0; i < args->num_args; i++) {
|
||||
if (0 == strcmp(args->args[i].key, GRPC_ARG_MAX_MESSAGE_LENGTH)) {
|
||||
if (args->args[i].type != GRPC_ARG_INTEGER) {
|
||||
gpr_log(GPR_ERROR, "%s ignored: it must be an integer",
|
||||
|
|
@ -152,11 +154,6 @@ grpc_channel *grpc_channel_create_from_filters(
|
|||
gpr_free(default_authority);
|
||||
}
|
||||
|
||||
grpc_channel_stack_init(exec_ctx, 1, destroy_channel, channel, filters,
|
||||
num_filters, args,
|
||||
is_client ? "CLIENT_CHANNEL" : "SERVER_CHANNEL",
|
||||
CHANNEL_STACK_FROM_CHANNEL(channel));
|
||||
|
||||
return channel;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,12 +35,13 @@
|
|||
#define GRPC_INTERNAL_CORE_SURFACE_CHANNEL_H
|
||||
|
||||
#include "src/core/channel/channel_stack.h"
|
||||
#include "src/core/surface/channel_stack_type.h"
|
||||
#include "src/core/client_config/subchannel_factory.h"
|
||||
|
||||
grpc_channel *grpc_channel_create_from_filters(
|
||||
grpc_exec_ctx *exec_ctx, const char *target,
|
||||
const grpc_channel_filter **filters, size_t count,
|
||||
const grpc_channel_args *args, int is_client);
|
||||
grpc_channel *grpc_channel_create(grpc_exec_ctx *exec_ctx, const char *target,
|
||||
const grpc_channel_args *args,
|
||||
grpc_channel_stack_type channel_stack_type,
|
||||
grpc_transport *optional_transport);
|
||||
|
||||
/** Get a (borrowed) pointer to this channels underlying channel stack */
|
||||
grpc_channel_stack *grpc_channel_get_channel_stack(grpc_channel *channel);
|
||||
|
|
|
|||
|
|
@ -105,9 +105,6 @@ static void connected(grpc_exec_ctx *exec_ctx, void *arg, bool success) {
|
|||
0);
|
||||
GPR_ASSERT(c->result->transport);
|
||||
c->result->channel_args = c->args.channel_args;
|
||||
c->result->filters = gpr_malloc(sizeof(grpc_channel_filter *));
|
||||
c->result->filters[0] = &grpc_http_client_filter;
|
||||
c->result->num_filters = 1;
|
||||
} else {
|
||||
memset(c->result, 0, sizeof(*c->result));
|
||||
}
|
||||
|
|
@ -190,25 +187,16 @@ grpc_channel *grpc_insecure_channel_create(const char *target,
|
|||
const grpc_channel_args *args,
|
||||
void *reserved) {
|
||||
grpc_channel *channel = NULL;
|
||||
#define MAX_FILTERS 3
|
||||
const grpc_channel_filter *filters[MAX_FILTERS];
|
||||
grpc_resolver *resolver;
|
||||
subchannel_factory *f;
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
size_t n = 0;
|
||||
GRPC_API_TRACE(
|
||||
"grpc_insecure_channel_create(target=%p, args=%p, reserved=%p)", 3,
|
||||
(target, args, reserved));
|
||||
GPR_ASSERT(!reserved);
|
||||
if (grpc_channel_args_is_census_enabled(args)) {
|
||||
filters[n++] = &grpc_client_census_filter;
|
||||
}
|
||||
filters[n++] = &grpc_compress_filter;
|
||||
filters[n++] = &grpc_client_channel_filter;
|
||||
GPR_ASSERT(n <= MAX_FILTERS);
|
||||
|
||||
channel =
|
||||
grpc_channel_create_from_filters(&exec_ctx, target, filters, n, args, 1);
|
||||
grpc_channel_create(&exec_ctx, target, args, GRPC_CLIENT_CHANNEL, NULL);
|
||||
|
||||
f = gpr_malloc(sizeof(*f));
|
||||
f->base.vtable = &subchannel_factory_vtable;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,146 @@
|
|||
/*
|
||||
*
|
||||
* 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/surface/channel_init.h"
|
||||
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/useful.h>
|
||||
|
||||
typedef struct stage_slot {
|
||||
grpc_channel_init_stage fn;
|
||||
void *arg;
|
||||
int priority;
|
||||
size_t insertion_order;
|
||||
} stage_slot;
|
||||
|
||||
typedef struct stage_slots {
|
||||
stage_slot *slots;
|
||||
size_t num_slots;
|
||||
size_t cap_slots;
|
||||
} stage_slots;
|
||||
|
||||
static stage_slots g_slots[GRPC_NUM_CHANNEL_STACK_TYPES];
|
||||
static bool g_finalized;
|
||||
|
||||
void grpc_channel_init_init(void) {
|
||||
for (int i = 0; i < GRPC_NUM_CHANNEL_STACK_TYPES; i++) {
|
||||
g_slots[i].slots = NULL;
|
||||
g_slots[i].num_slots = 0;
|
||||
g_slots[i].cap_slots = 0;
|
||||
}
|
||||
g_finalized = false;
|
||||
}
|
||||
|
||||
void grpc_channel_init_register_stage(grpc_channel_stack_type type,
|
||||
int priority,
|
||||
grpc_channel_init_stage stage,
|
||||
void *stage_arg) {
|
||||
GPR_ASSERT(!g_finalized);
|
||||
if (g_slots[type].cap_slots == g_slots[type].num_slots) {
|
||||
g_slots[type].cap_slots = GPR_MAX(8, 3 * g_slots[type].cap_slots / 2);
|
||||
g_slots[type].slots =
|
||||
gpr_realloc(g_slots[type].slots,
|
||||
g_slots[type].cap_slots * sizeof(*g_slots[type].slots));
|
||||
}
|
||||
stage_slot *s = &g_slots[type].slots[g_slots[type].num_slots++];
|
||||
s->insertion_order = g_slots[type].num_slots;
|
||||
s->priority = priority;
|
||||
s->fn = stage;
|
||||
s->arg = stage_arg;
|
||||
}
|
||||
|
||||
static int compare_slots(const void *a, const void *b) {
|
||||
const stage_slot *sa = a;
|
||||
const stage_slot *sb = b;
|
||||
|
||||
int c = GPR_ICMP(sa->priority, sb->priority);
|
||||
if (c != 0) return c;
|
||||
return GPR_ICMP(sa->insertion_order, sb->insertion_order);
|
||||
}
|
||||
|
||||
void grpc_channel_init_finalize(void) {
|
||||
GPR_ASSERT(!g_finalized);
|
||||
for (int i = 0; i < GRPC_NUM_CHANNEL_STACK_TYPES; i++) {
|
||||
qsort(g_slots[i].slots, g_slots[i].num_slots, sizeof(*g_slots[i].slots),
|
||||
compare_slots);
|
||||
}
|
||||
g_finalized = true;
|
||||
}
|
||||
|
||||
void grpc_channel_init_shutdown(void) {
|
||||
for (int i = 0; i < GRPC_NUM_CHANNEL_STACK_TYPES; i++) {
|
||||
gpr_free(g_slots[i].slots);
|
||||
g_slots[i].slots = (void *)0xdeadbeef;
|
||||
}
|
||||
}
|
||||
|
||||
static const char *name_for_type(grpc_channel_stack_type type) {
|
||||
switch (type) {
|
||||
case GRPC_CLIENT_CHANNEL:
|
||||
return "CLIENT_CHANNEL";
|
||||
case GRPC_CLIENT_SUBCHANNEL:
|
||||
return "CLIENT_SUBCHANNEL";
|
||||
case GRPC_SERVER_CHANNEL:
|
||||
return "SERVER_CHANNEL";
|
||||
case GRPC_CLIENT_UCHANNEL:
|
||||
return "CLIENT_UCHANNEL";
|
||||
case GRPC_CLIENT_LAME_CHANNEL:
|
||||
return "CLIENT_LAME_CHANNEL";
|
||||
case GRPC_NUM_CHANNEL_STACK_TYPES:
|
||||
break;
|
||||
}
|
||||
GPR_UNREACHABLE_CODE(return "UNKNOWN");
|
||||
}
|
||||
|
||||
void *grpc_channel_init_create_stack(
|
||||
grpc_exec_ctx *exec_ctx, grpc_channel_stack_type type, size_t prefix_bytes,
|
||||
const grpc_channel_args *args, int initial_refs, grpc_iomgr_cb_func destroy,
|
||||
void *destroy_arg, grpc_transport *transport) {
|
||||
GPR_ASSERT(g_finalized);
|
||||
|
||||
grpc_channel_stack_builder *builder = grpc_channel_stack_builder_create();
|
||||
grpc_channel_stack_builder_set_name(builder, name_for_type(type));
|
||||
grpc_channel_stack_builder_set_channel_arguments(builder, args);
|
||||
grpc_channel_stack_builder_set_transport(builder, transport);
|
||||
|
||||
for (size_t i = 0; i < g_slots[type].num_slots; i++) {
|
||||
const stage_slot *slot = &g_slots[type].slots[i];
|
||||
if (!slot->fn(builder, slot->arg)) {
|
||||
grpc_channel_stack_builder_destroy(builder);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return grpc_channel_stack_builder_finish(exec_ctx, builder, prefix_bytes,
|
||||
initial_refs, destroy, destroy_arg);
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
*
|
||||
* 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_CHANNEL_CHANNEL_INIT_H
|
||||
#define GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_INIT_H
|
||||
|
||||
#include "src/core/channel/channel_stack_builder.h"
|
||||
#include "src/core/surface/channel_stack_type.h"
|
||||
#include "src/core/transport/transport.h"
|
||||
|
||||
// This module provides a way for plugins (and the grpc core library itself)
|
||||
// to register mutators for channel stacks.
|
||||
// It also provides a universal entry path to run those mutators to build
|
||||
// a channel stack for various subsystems.
|
||||
|
||||
// One stage of mutation: call channel stack builder's to influence the finally
|
||||
// constructed channel stack
|
||||
typedef bool (*grpc_channel_init_stage)(grpc_channel_stack_builder *builder,
|
||||
void *arg);
|
||||
|
||||
// Global initialization of the system
|
||||
void grpc_channel_init_init(void);
|
||||
|
||||
// Register one stage of mutators.
|
||||
// Stages are run in priority order (lowest to highest), and then in
|
||||
// registration order (in the case of a tie).
|
||||
// Stages are registered against one of the pre-determined channel stack
|
||||
// types.
|
||||
void grpc_channel_init_register_stage(grpc_channel_stack_type type,
|
||||
int priority,
|
||||
grpc_channel_init_stage stage,
|
||||
void *stage_arg);
|
||||
|
||||
// Finalize registration. No more calls to grpc_channel_init_register_stage are
|
||||
// allowed.
|
||||
void grpc_channel_init_finalize(void);
|
||||
// Shutdown the channel init system
|
||||
void grpc_channel_init_shutdown(void);
|
||||
|
||||
// Construct a channel stack of some sort: see channel_stack.h for details
|
||||
void *grpc_channel_init_create_stack(
|
||||
grpc_exec_ctx *exec_ctx, grpc_channel_stack_type type, size_t prefix_bytes,
|
||||
const grpc_channel_args *args, int initial_refs, grpc_iomgr_cb_func destroy,
|
||||
void *destroy_arg, grpc_transport *optional_transport);
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
*
|
||||
* 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 <grpc/support/port_platform.h>
|
||||
#include "src/core/surface/channel_stack_type.h"
|
||||
#include <grpc/support/log.h>
|
||||
|
||||
bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type) {
|
||||
switch (type) {
|
||||
case GRPC_CLIENT_CHANNEL:
|
||||
return true;
|
||||
case GRPC_CLIENT_UCHANNEL:
|
||||
return true;
|
||||
case GRPC_CLIENT_SUBCHANNEL:
|
||||
return true;
|
||||
case GRPC_CLIENT_LAME_CHANNEL:
|
||||
return true;
|
||||
case GRPC_SERVER_CHANNEL:
|
||||
return false;
|
||||
case GRPC_NUM_CHANNEL_STACK_TYPES:
|
||||
break;
|
||||
}
|
||||
GPR_UNREACHABLE_CODE(return true;);
|
||||
}
|
||||
|
|
@ -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_SURFACE_CHANNEL_STACK_TYPE_H
|
||||
#define GRPC_INTERNAL_CORE_SURFACE_CHANNEL_STACK_TYPE_H
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef enum {
|
||||
GRPC_CLIENT_CHANNEL,
|
||||
GRPC_CLIENT_UCHANNEL,
|
||||
GRPC_CLIENT_SUBCHANNEL,
|
||||
GRPC_CLIENT_LAME_CHANNEL,
|
||||
GRPC_SERVER_CHANNEL,
|
||||
// must be last
|
||||
GRPC_NUM_CHANNEL_STACK_TYPES
|
||||
} grpc_channel_stack_type;
|
||||
|
||||
bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type);
|
||||
|
||||
#endif /* GRPC_INTERNAL_CORE_SURFACE_CHANNEL_STACK_TYPE_H */
|
||||
|
|
@ -33,13 +33,21 @@
|
|||
|
||||
#include <grpc/support/port_platform.h>
|
||||
|
||||
#include <limits.h>
|
||||
#include <memory.h>
|
||||
|
||||
#include <grpc/census.h>
|
||||
#include <grpc/grpc.h>
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/time.h>
|
||||
/* TODO(ctiller): find another way? - better not to include census here */
|
||||
#include "src/core/census/grpc_plugin.h"
|
||||
#include "src/core/channel/channel_stack.h"
|
||||
#include "src/core/channel/compress_filter.h"
|
||||
#include "src/core/channel/connected_channel.h"
|
||||
#include "src/core/channel/client_channel.h"
|
||||
#include "src/core/channel/client_uchannel.h"
|
||||
#include "src/core/channel/http_client_filter.h"
|
||||
#include "src/core/channel/http_server_filter.h"
|
||||
#include "src/core/client_config/lb_policy_registry.h"
|
||||
#include "src/core/client_config/lb_policies/pick_first.h"
|
||||
#include "src/core/client_config/lb_policies/round_robin.h"
|
||||
|
|
@ -54,11 +62,15 @@
|
|||
#include "src/core/profiling/timers.h"
|
||||
#include "src/core/surface/api_trace.h"
|
||||
#include "src/core/surface/call.h"
|
||||
#include "src/core/surface/channel_init.h"
|
||||
#include "src/core/surface/completion_queue.h"
|
||||
#include "src/core/surface/init.h"
|
||||
#include "src/core/surface/lame_client.h"
|
||||
#include "src/core/surface/server.h"
|
||||
#include "src/core/surface/surface_trace.h"
|
||||
#include "src/core/transport/chttp2_transport.h"
|
||||
#include "src/core/transport/connectivity_state.h"
|
||||
#include "src/core/transport/transport_impl.h"
|
||||
|
||||
#ifndef GRPC_DEFAULT_NAME_PREFIX
|
||||
#define GRPC_DEFAULT_NAME_PREFIX "dns:///"
|
||||
|
|
@ -72,9 +84,56 @@ static int g_initializations;
|
|||
|
||||
static void do_basic_init(void) {
|
||||
gpr_mu_init(&g_init_mu);
|
||||
/* TODO(ctiller): ideally remove this strict linkage */
|
||||
grpc_register_plugin(census_grpc_plugin_init, census_grpc_plugin_destroy);
|
||||
g_initializations = 0;
|
||||
}
|
||||
|
||||
static bool append_filter(grpc_channel_stack_builder *builder, void *arg) {
|
||||
return grpc_channel_stack_builder_append_filter(builder, arg, NULL, NULL);
|
||||
}
|
||||
|
||||
static bool prepend_filter(grpc_channel_stack_builder *builder, void *arg) {
|
||||
return grpc_channel_stack_builder_prepend_filter(builder, arg, NULL, NULL);
|
||||
}
|
||||
|
||||
static bool maybe_add_http_filter(grpc_channel_stack_builder *builder,
|
||||
void *arg) {
|
||||
grpc_transport *t = grpc_channel_stack_builder_get_transport(builder);
|
||||
if (t && strstr(t->vtable->name, "http")) {
|
||||
return grpc_channel_stack_builder_prepend_filter(builder, arg, NULL, NULL);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static void register_builtin_channel_init() {
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MAX, prepend_filter,
|
||||
(void *)&grpc_compress_filter);
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_UCHANNEL, INT_MAX,
|
||||
prepend_filter,
|
||||
(void *)&grpc_compress_filter);
|
||||
grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, prepend_filter,
|
||||
(void *)&grpc_compress_filter);
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, INT_MAX,
|
||||
maybe_add_http_filter,
|
||||
(void *)&grpc_http_client_filter);
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, INT_MAX,
|
||||
grpc_add_connected_filter, NULL);
|
||||
grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX,
|
||||
maybe_add_http_filter,
|
||||
(void *)&grpc_http_server_filter);
|
||||
grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX,
|
||||
grpc_add_connected_filter, NULL);
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MAX, append_filter,
|
||||
(void *)&grpc_client_channel_filter);
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_UCHANNEL, INT_MAX, append_filter,
|
||||
(void *)&grpc_client_uchannel_filter);
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_LAME_CHANNEL, INT_MAX,
|
||||
append_filter, (void *)&grpc_lame_filter);
|
||||
grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, prepend_filter,
|
||||
(void *)&grpc_server_top_filter);
|
||||
}
|
||||
|
||||
typedef struct grpc_plugin {
|
||||
void (*init)();
|
||||
void (*destroy)();
|
||||
|
|
@ -85,7 +144,7 @@ static int g_number_of_plugins = 0;
|
|||
|
||||
void grpc_register_plugin(void (*init)(void), void (*destroy)(void)) {
|
||||
GRPC_API_TRACE("grpc_register_plugin(init=%p, destroy=%p)", 2,
|
||||
((void*)(intptr_t)init, (void*)(intptr_t)destroy));
|
||||
((void *)(intptr_t)init, (void *)(intptr_t)destroy));
|
||||
GPR_ASSERT(g_number_of_plugins != MAX_PLUGINS);
|
||||
g_all_of_the_plugins[g_number_of_plugins].init = init;
|
||||
g_all_of_the_plugins[g_number_of_plugins].destroy = destroy;
|
||||
|
|
@ -100,6 +159,7 @@ void grpc_init(void) {
|
|||
if (++g_initializations == 1) {
|
||||
gpr_time_init();
|
||||
grpc_mdctx_global_init();
|
||||
grpc_channel_init_init();
|
||||
grpc_lb_policy_registry_init(grpc_pick_first_lb_factory_create());
|
||||
grpc_register_lb_policy(grpc_pick_first_lb_factory_create());
|
||||
grpc_register_lb_policy(grpc_round_robin_lb_factory_create());
|
||||
|
|
@ -119,14 +179,6 @@ void grpc_init(void) {
|
|||
grpc_iomgr_init();
|
||||
grpc_executor_init();
|
||||
grpc_tracer_init("GRPC_TRACE");
|
||||
/* Only initialize census if no one else has and some features are
|
||||
* available. */
|
||||
if (census_enabled() == CENSUS_FEATURE_NONE &&
|
||||
census_supported() != CENSUS_FEATURE_NONE) {
|
||||
if (census_initialize(census_supported())) { /* enable all features. */
|
||||
gpr_log(GPR_ERROR, "Could not initialize census.");
|
||||
}
|
||||
}
|
||||
gpr_timers_global_init();
|
||||
grpc_cq_global_init();
|
||||
grpc_subchannel_index_init();
|
||||
|
|
@ -135,6 +187,12 @@ void grpc_init(void) {
|
|||
g_all_of_the_plugins[i].init();
|
||||
}
|
||||
}
|
||||
/* register channel finalization AFTER all plugins, to ensure that it's run
|
||||
* at the appropriate time */
|
||||
grpc_register_security_filters();
|
||||
register_builtin_channel_init();
|
||||
/* no more changes to channel init pipelines */
|
||||
grpc_channel_init_finalize();
|
||||
}
|
||||
gpr_mu_unlock(&g_init_mu);
|
||||
GRPC_API_TRACE("grpc_init(void)", 0, ());
|
||||
|
|
@ -149,7 +207,6 @@ void grpc_shutdown(void) {
|
|||
grpc_cq_global_shutdown();
|
||||
grpc_iomgr_shutdown();
|
||||
grpc_subchannel_index_shutdown();
|
||||
census_shutdown();
|
||||
gpr_timers_global_destroy();
|
||||
grpc_tracer_shutdown();
|
||||
grpc_resolver_registry_shutdown();
|
||||
|
|
@ -159,6 +216,7 @@ void grpc_shutdown(void) {
|
|||
g_all_of_the_plugins[i].destroy();
|
||||
}
|
||||
}
|
||||
grpc_channel_init_shutdown();
|
||||
grpc_mdctx_global_shutdown();
|
||||
}
|
||||
gpr_mu_unlock(&g_init_mu);
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#ifndef GRPC_INTERNAL_CORE_SURFACE_INIT_H
|
||||
#define GRPC_INTERNAL_CORE_SURFACE_INIT_H
|
||||
|
||||
void grpc_register_security_filters(void);
|
||||
void grpc_security_pre_init(void);
|
||||
int grpc_is_initialized(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -32,11 +32,56 @@
|
|||
*/
|
||||
|
||||
#include "src/core/surface/init.h"
|
||||
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "src/core/surface/channel_init.h"
|
||||
#include "src/core/debug/trace.h"
|
||||
#include "src/core/security/auth_filters.h"
|
||||
#include "src/core/security/credentials.h"
|
||||
#include "src/core/security/secure_endpoint.h"
|
||||
#include "src/core/security/security_connector.h"
|
||||
#include "src/core/tsi/transport_security_interface.h"
|
||||
|
||||
void grpc_security_pre_init(void) {
|
||||
grpc_register_tracer("secure_endpoint", &grpc_trace_secure_endpoint);
|
||||
grpc_register_tracer("transport_security", &tsi_tracing_enabled);
|
||||
}
|
||||
|
||||
static bool maybe_prepend_client_auth_filter(
|
||||
grpc_channel_stack_builder *builder, void *arg) {
|
||||
const grpc_channel_args *args =
|
||||
grpc_channel_stack_builder_get_channel_arguments(builder);
|
||||
if (args) {
|
||||
for (size_t i = 0; i < args->num_args; i++) {
|
||||
if (0 == strcmp(GRPC_SECURITY_CONNECTOR_ARG, args->args[i].key)) {
|
||||
return grpc_channel_stack_builder_prepend_filter(
|
||||
builder, &grpc_client_auth_filter, NULL, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool maybe_prepend_server_auth_filter(
|
||||
grpc_channel_stack_builder *builder, void *arg) {
|
||||
const grpc_channel_args *args =
|
||||
grpc_channel_stack_builder_get_channel_arguments(builder);
|
||||
if (args) {
|
||||
for (size_t i = 0; i < args->num_args; i++) {
|
||||
if (0 == strcmp(GRPC_SERVER_CREDENTIALS_ARG, args->args[i].key)) {
|
||||
return grpc_channel_stack_builder_prepend_filter(
|
||||
builder, &grpc_server_auth_filter, NULL, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void grpc_register_security_filters(void) {
|
||||
grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, INT_MAX,
|
||||
maybe_prepend_client_auth_filter, NULL);
|
||||
grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX,
|
||||
maybe_prepend_server_auth_filter, NULL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,3 +34,5 @@
|
|||
#include "src/core/surface/init.h"
|
||||
|
||||
void grpc_security_pre_init(void) {}
|
||||
|
||||
void grpc_register_security_filters(void) {}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "src/core/surface/lame_client.h"
|
||||
|
||||
#include <grpc/grpc.h>
|
||||
|
||||
#include <string.h>
|
||||
|
|
@ -115,7 +117,7 @@ static void init_channel_elem(grpc_exec_ctx *exec_ctx,
|
|||
static void destroy_channel_elem(grpc_exec_ctx *exec_ctx,
|
||||
grpc_channel_element *elem) {}
|
||||
|
||||
static const grpc_channel_filter lame_filter = {
|
||||
const grpc_channel_filter grpc_lame_filter = {
|
||||
lame_start_transport_stream_op, lame_start_transport_op, sizeof(call_data),
|
||||
init_call_elem, grpc_call_stack_ignore_set_pollset, destroy_call_elem,
|
||||
sizeof(channel_data), init_channel_elem, destroy_channel_elem,
|
||||
|
|
@ -127,19 +129,17 @@ static const grpc_channel_filter lame_filter = {
|
|||
grpc_channel *grpc_lame_client_channel_create(const char *target,
|
||||
grpc_status_code error_code,
|
||||
const char *error_message) {
|
||||
grpc_channel *channel;
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_channel_element *elem;
|
||||
channel_data *chand;
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
static const grpc_channel_filter *filters[] = {&lame_filter};
|
||||
channel =
|
||||
grpc_channel_create_from_filters(&exec_ctx, target, filters, 1, NULL, 1);
|
||||
grpc_channel *channel = grpc_channel_create(&exec_ctx, target, NULL,
|
||||
GRPC_CLIENT_LAME_CHANNEL, NULL);
|
||||
elem = grpc_channel_stack_element(grpc_channel_get_channel_stack(channel), 0);
|
||||
GRPC_API_TRACE(
|
||||
"grpc_lame_client_channel_create(target=%s, error_code=%d, "
|
||||
"error_message=%s)",
|
||||
3, (target, (int)error_code, error_message));
|
||||
GPR_ASSERT(elem->filter == &lame_filter);
|
||||
GPR_ASSERT(elem->filter == &grpc_lame_filter);
|
||||
chand = (channel_data *)elem->channel_data;
|
||||
chand->error_code = error_code;
|
||||
chand->error_message = error_message;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2016, 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_SURFACE_LAME_CHANNEL_H
|
||||
#define GRPC_INTERNAL_CORE_SURFACE_LAME_CHANNEL_H
|
||||
|
||||
#include "src/core/channel/channel_stack.h"
|
||||
|
||||
extern const grpc_channel_filter grpc_lame_filter;
|
||||
|
||||
#endif // GRPC_INTERNAL_CORE_SURFACE_LAME_CHANNEL_H
|
||||
|
|
@ -40,11 +40,8 @@
|
|||
#include <grpc/support/slice.h>
|
||||
#include <grpc/support/slice_buffer.h>
|
||||
|
||||
#include "src/core/census/grpc_filter.h"
|
||||
#include "src/core/channel/channel_args.h"
|
||||
#include "src/core/channel/client_channel.h"
|
||||
#include "src/core/channel/compress_filter.h"
|
||||
#include "src/core/channel/http_client_filter.h"
|
||||
#include "src/core/client_config/resolver_registry.h"
|
||||
#include "src/core/iomgr/tcp_client.h"
|
||||
#include "src/core/security/auth_filters.h"
|
||||
|
|
@ -115,10 +112,6 @@ static void on_secure_handshake_done(grpc_exec_ctx *exec_ctx, void *arg,
|
|||
args_copy = grpc_channel_args_copy_and_add(c->args.channel_args,
|
||||
&auth_context_arg, 1);
|
||||
c->result->channel_args = args_copy;
|
||||
c->result->filters = gpr_malloc(sizeof(grpc_channel_filter *) * 2);
|
||||
c->result->filters[0] = &grpc_http_client_filter;
|
||||
c->result->filters[1] = &grpc_client_auth_filter;
|
||||
c->result->num_filters = 2;
|
||||
}
|
||||
notify = c->notify;
|
||||
c->notify = NULL;
|
||||
|
|
@ -263,10 +256,7 @@ grpc_channel *grpc_secure_channel_create(grpc_channel_credentials *creds,
|
|||
grpc_channel_security_connector *security_connector;
|
||||
grpc_resolver *resolver;
|
||||
subchannel_factory *f;
|
||||
#define MAX_FILTERS 3
|
||||
const grpc_channel_filter *filters[MAX_FILTERS];
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
size_t n = 0;
|
||||
|
||||
GRPC_API_TRACE(
|
||||
"grpc_secure_channel_create(creds=%p, target=%s, args=%p, "
|
||||
|
|
@ -295,15 +285,9 @@ grpc_channel *grpc_secure_channel_create(grpc_channel_credentials *creds,
|
|||
args_copy = grpc_channel_args_copy_and_add(
|
||||
new_args_from_connector != NULL ? new_args_from_connector : args,
|
||||
&connector_arg, 1);
|
||||
if (grpc_channel_args_is_census_enabled(args)) {
|
||||
filters[n++] = &grpc_client_census_filter;
|
||||
}
|
||||
filters[n++] = &grpc_compress_filter;
|
||||
filters[n++] = &grpc_client_channel_filter;
|
||||
GPR_ASSERT(n <= MAX_FILTERS);
|
||||
|
||||
channel = grpc_channel_create_from_filters(&exec_ctx, target, filters, n,
|
||||
args_copy, 1);
|
||||
channel = grpc_channel_create(&exec_ctx, target, args_copy,
|
||||
GRPC_CLIENT_CHANNEL, NULL);
|
||||
|
||||
f = gpr_malloc(sizeof(*f));
|
||||
f->base.vtable = &subchannel_factory_vtable;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@
|
|||
#include <grpc/support/string_util.h>
|
||||
#include <grpc/support/useful.h>
|
||||
|
||||
#include "src/core/census/grpc_filter.h"
|
||||
#include "src/core/channel/channel_args.h"
|
||||
#include "src/core/channel/connected_channel.h"
|
||||
#include "src/core/iomgr/iomgr.h"
|
||||
|
|
@ -182,8 +181,6 @@ typedef struct {
|
|||
} channel_broadcaster;
|
||||
|
||||
struct grpc_server {
|
||||
size_t channel_filter_count;
|
||||
grpc_channel_filter const **channel_filters;
|
||||
grpc_channel_args *channel_args;
|
||||
|
||||
grpc_completion_queue **cqs;
|
||||
|
|
@ -355,7 +352,6 @@ static void server_delete(grpc_exec_ctx *exec_ctx, grpc_server *server) {
|
|||
grpc_channel_args_destroy(server->channel_args);
|
||||
gpr_mu_destroy(&server->mu_global);
|
||||
gpr_mu_destroy(&server->mu_call);
|
||||
gpr_free((void *)server->channel_filters);
|
||||
while ((rm = server->registered_methods) != NULL) {
|
||||
server->registered_methods = rm->next;
|
||||
request_matcher_destroy(&rm->request_matcher);
|
||||
|
|
@ -750,7 +746,7 @@ static void destroy_channel_elem(grpc_exec_ctx *exec_ctx,
|
|||
}
|
||||
}
|
||||
|
||||
static const grpc_channel_filter server_surface_filter = {
|
||||
const grpc_channel_filter grpc_server_top_filter = {
|
||||
server_start_transport_stream_op, grpc_channel_next_op, sizeof(call_data),
|
||||
init_call_elem, grpc_call_stack_ignore_set_pollset, destroy_call_elem,
|
||||
sizeof(channel_data), init_channel_elem, destroy_channel_elem,
|
||||
|
|
@ -776,11 +772,10 @@ void grpc_server_register_completion_queue(grpc_server *server,
|
|||
server->cqs[n] = cq;
|
||||
}
|
||||
|
||||
grpc_server *grpc_server_create_from_filters(
|
||||
const grpc_channel_filter **filters, size_t filter_count,
|
||||
const grpc_channel_args *args) {
|
||||
grpc_server *grpc_server_create(const grpc_channel_args *args, void *reserved) {
|
||||
size_t i;
|
||||
int census_enabled = grpc_channel_args_is_census_enabled(args);
|
||||
|
||||
GRPC_API_TRACE("grpc_server_create(%p, %p)", 2, (args, reserved));
|
||||
|
||||
grpc_server *server = gpr_malloc(sizeof(grpc_server));
|
||||
|
||||
|
|
@ -808,23 +803,6 @@ grpc_server *grpc_server_create_from_filters(
|
|||
server->requested_calls = gpr_malloc(server->max_requested_calls *
|
||||
sizeof(*server->requested_calls));
|
||||
|
||||
/* Server filter stack is:
|
||||
|
||||
server_surface_filter - for making surface API calls
|
||||
grpc_server_census_filter (optional) - for stats collection and tracing
|
||||
{passed in filter stack}
|
||||
grpc_connected_channel_filter - for interfacing with transports */
|
||||
server->channel_filter_count = filter_count + 1u + (census_enabled ? 1u : 0u);
|
||||
server->channel_filters =
|
||||
gpr_malloc(server->channel_filter_count * sizeof(grpc_channel_filter *));
|
||||
server->channel_filters[0] = &server_surface_filter;
|
||||
if (census_enabled) {
|
||||
server->channel_filters[1] = &grpc_server_census_filter;
|
||||
}
|
||||
for (i = 0; i < filter_count; i++) {
|
||||
server->channel_filters[i + 1u + (census_enabled ? 1u : 0u)] = filters[i];
|
||||
}
|
||||
|
||||
server->channel_args = grpc_channel_args_copy(args);
|
||||
|
||||
return server;
|
||||
|
|
@ -885,12 +863,7 @@ void grpc_server_start(grpc_server *server) {
|
|||
|
||||
void grpc_server_setup_transport(grpc_exec_ctx *exec_ctx, grpc_server *s,
|
||||
grpc_transport *transport,
|
||||
grpc_channel_filter const **extra_filters,
|
||||
size_t num_extra_filters,
|
||||
const grpc_channel_args *args) {
|
||||
size_t num_filters = s->channel_filter_count + num_extra_filters + 1;
|
||||
grpc_channel_filter const **filters =
|
||||
gpr_malloc(sizeof(grpc_channel_filter *) * num_filters);
|
||||
size_t i;
|
||||
size_t num_registered_methods;
|
||||
size_t alloc;
|
||||
|
|
@ -906,22 +879,14 @@ void grpc_server_setup_transport(grpc_exec_ctx *exec_ctx, grpc_server *s,
|
|||
uint32_t max_probes = 0;
|
||||
grpc_transport_op op;
|
||||
|
||||
for (i = 0; i < s->channel_filter_count; i++) {
|
||||
filters[i] = s->channel_filters[i];
|
||||
}
|
||||
for (; i < s->channel_filter_count + num_extra_filters; i++) {
|
||||
filters[i] = extra_filters[i - s->channel_filter_count];
|
||||
}
|
||||
filters[i] = &grpc_connected_channel_filter;
|
||||
|
||||
for (i = 0; i < s->cq_count; i++) {
|
||||
memset(&op, 0, sizeof(op));
|
||||
op.bind_pollset = grpc_cq_pollset(s->cqs[i]);
|
||||
grpc_transport_perform_op(exec_ctx, transport, &op);
|
||||
}
|
||||
|
||||
channel = grpc_channel_create_from_filters(exec_ctx, NULL, filters,
|
||||
num_filters, args, 0);
|
||||
channel =
|
||||
grpc_channel_create(exec_ctx, NULL, args, GRPC_SERVER_CHANNEL, transport);
|
||||
chand = (channel_data *)grpc_channel_stack_element(
|
||||
grpc_channel_get_channel_stack(channel), 0)->channel_data;
|
||||
chand->server = s;
|
||||
|
|
@ -958,17 +923,12 @@ void grpc_server_setup_transport(grpc_exec_ctx *exec_ctx, grpc_server *s,
|
|||
chand->registered_method_max_probes = max_probes;
|
||||
}
|
||||
|
||||
grpc_connected_channel_bind_transport(grpc_channel_get_channel_stack(channel),
|
||||
transport);
|
||||
|
||||
gpr_mu_lock(&s->mu_global);
|
||||
chand->next = &s->root_channel_data;
|
||||
chand->prev = chand->next->prev;
|
||||
chand->next->prev = chand->prev->next = chand;
|
||||
gpr_mu_unlock(&s->mu_global);
|
||||
|
||||
gpr_free((void *)filters);
|
||||
|
||||
GRPC_CHANNEL_INTERNAL_REF(channel, "connectivity");
|
||||
memset(&op, 0, sizeof(op));
|
||||
op.set_accept_stream = accept_stream;
|
||||
|
|
|
|||
|
|
@ -34,14 +34,11 @@
|
|||
#ifndef GRPC_INTERNAL_CORE_SURFACE_SERVER_H
|
||||
#define GRPC_INTERNAL_CORE_SURFACE_SERVER_H
|
||||
|
||||
#include "src/core/channel/channel_stack.h"
|
||||
#include <grpc/grpc.h>
|
||||
#include "src/core/channel/channel_stack.h"
|
||||
#include "src/core/transport/transport.h"
|
||||
|
||||
/* Create a server */
|
||||
grpc_server *grpc_server_create_from_filters(
|
||||
const grpc_channel_filter **filters, size_t filter_count,
|
||||
const grpc_channel_args *args);
|
||||
extern const grpc_channel_filter grpc_server_top_filter;
|
||||
|
||||
/* Add a listener to the server: when the server starts, it will call start,
|
||||
and when it shuts down, it will call destroy */
|
||||
|
|
@ -56,8 +53,6 @@ void grpc_server_add_listener(
|
|||
server */
|
||||
void grpc_server_setup_transport(grpc_exec_ctx *exec_ctx, grpc_server *server,
|
||||
grpc_transport *transport,
|
||||
grpc_channel_filter const **extra_filters,
|
||||
size_t num_extra_filters,
|
||||
const grpc_channel_args *args);
|
||||
|
||||
const grpc_channel_args *grpc_server_get_channel_args(grpc_server *server);
|
||||
|
|
|
|||
|
|
@ -45,10 +45,7 @@
|
|||
|
||||
static void setup_transport(grpc_exec_ctx *exec_ctx, void *server,
|
||||
grpc_transport *transport) {
|
||||
static grpc_channel_filter const *extra_filters[] = {
|
||||
&grpc_http_server_filter};
|
||||
grpc_server_setup_transport(exec_ctx, server, transport, extra_filters,
|
||||
GPR_ARRAY_SIZE(extra_filters),
|
||||
grpc_server_setup_transport(exec_ctx, server, transport,
|
||||
grpc_server_get_channel_args(server));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1713,8 +1713,9 @@ static char *chttp2_get_peer(grpc_exec_ctx *exec_ctx, grpc_transport *t) {
|
|||
}
|
||||
|
||||
static const grpc_transport_vtable vtable = {
|
||||
sizeof(grpc_chttp2_stream), init_stream, set_pollset, perform_stream_op,
|
||||
perform_transport_op, destroy_stream, destroy_transport, chttp2_get_peer};
|
||||
sizeof(grpc_chttp2_stream), "chttp2", init_stream, set_pollset,
|
||||
perform_stream_op, perform_transport_op, destroy_stream, destroy_transport,
|
||||
chttp2_get_peer};
|
||||
|
||||
grpc_transport *grpc_create_chttp2_transport(
|
||||
grpc_exec_ctx *exec_ctx, const grpc_channel_args *channel_args,
|
||||
|
|
|
|||
|
|
@ -41,6 +41,9 @@ typedef struct grpc_transport_vtable {
|
|||
layers and initialized by the transport */
|
||||
size_t sizeof_stream; /* = sizeof(transport stream) */
|
||||
|
||||
/* name of this transport implementation */
|
||||
const char *name;
|
||||
|
||||
/* implementation of grpc_transport_init_stream */
|
||||
int (*init_stream)(grpc_exec_ctx *exec_ctx, grpc_transport *self,
|
||||
grpc_stream *stream, grpc_stream_refcount *refcount,
|
||||
|
|
|
|||
|
|
@ -96,8 +96,10 @@ CORE_SOURCE_FILES = [
|
|||
'src/core/tsi/transport_security.c',
|
||||
'src/core/census/grpc_context.c',
|
||||
'src/core/census/grpc_filter.c',
|
||||
'src/core/census/grpc_plugin.c',
|
||||
'src/core/channel/channel_args.c',
|
||||
'src/core/channel/channel_stack.c',
|
||||
'src/core/channel/channel_stack_builder.c',
|
||||
'src/core/channel/client_channel.c',
|
||||
'src/core/channel/client_uchannel.c',
|
||||
'src/core/channel/compress_filter.c',
|
||||
|
|
@ -183,7 +185,9 @@ CORE_SOURCE_FILES = [
|
|||
'src/core/surface/channel.c',
|
||||
'src/core/surface/channel_connectivity.c',
|
||||
'src/core/surface/channel_create.c',
|
||||
'src/core/surface/channel_init.c',
|
||||
'src/core/surface/channel_ping.c',
|
||||
'src/core/surface/channel_stack_type.c',
|
||||
'src/core/surface/completion_queue.c',
|
||||
'src/core/surface/event_string.c',
|
||||
'src/core/surface/init.c',
|
||||
|
|
@ -191,7 +195,6 @@ CORE_SOURCE_FILES = [
|
|||
'src/core/surface/metadata_array.c',
|
||||
'src/core/surface/server.c',
|
||||
'src/core/surface/server_chttp2.c',
|
||||
'src/core/surface/server_create.c',
|
||||
'src/core/surface/validate_metadata.c',
|
||||
'src/core/surface/version.c',
|
||||
'src/core/transport/byte_stream.c',
|
||||
|
|
|
|||
|
|
@ -67,11 +67,8 @@ static void done_write(grpc_exec_ctx *exec_ctx, void *arg, bool success) {
|
|||
|
||||
static void server_setup_transport(void *ts, grpc_transport *transport) {
|
||||
thd_args *a = ts;
|
||||
static grpc_channel_filter const *extra_filters[] = {
|
||||
&grpc_http_server_filter};
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_server_setup_transport(&exec_ctx, a->server, transport, extra_filters,
|
||||
GPR_ARRAY_SIZE(extra_filters),
|
||||
grpc_server_setup_transport(&exec_ctx, a->server, transport,
|
||||
grpc_server_get_channel_args(a->server));
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
|
@ -105,7 +102,7 @@ void grpc_run_bad_client_test(grpc_bad_client_server_side_validator validator,
|
|||
sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536);
|
||||
|
||||
/* Create server, completion events */
|
||||
a.server = grpc_server_create_from_filters(NULL, 0, NULL);
|
||||
a.server = grpc_server_create(NULL, NULL);
|
||||
a.cq = grpc_completion_queue_create(NULL);
|
||||
gpr_event_init(&a.done_thd);
|
||||
gpr_event_init(&a.done_write);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,132 @@
|
|||
/*
|
||||
*
|
||||
* 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 "test/core/end2end/end2end_tests.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "src/core/channel/client_channel.h"
|
||||
#include "src/core/channel/connected_channel.h"
|
||||
#include "src/core/channel/http_server_filter.h"
|
||||
#include "src/core/surface/channel.h"
|
||||
#include "src/core/surface/server.h"
|
||||
#include "src/core/transport/chttp2_transport.h"
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/host_port.h>
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpc/support/sync.h>
|
||||
#include <grpc/support/thd.h>
|
||||
#include <grpc/support/useful.h>
|
||||
#include "test/core/util/port.h"
|
||||
#include "test/core/util/test_config.h"
|
||||
#include "src/core/support/env.h"
|
||||
|
||||
typedef struct fullstack_fixture_data {
|
||||
char *localaddr;
|
||||
} fullstack_fixture_data;
|
||||
|
||||
static grpc_end2end_test_fixture chttp2_create_fixture_fullstack(
|
||||
grpc_channel_args *client_args, grpc_channel_args *server_args) {
|
||||
grpc_end2end_test_fixture f;
|
||||
int port = grpc_pick_unused_port_or_die();
|
||||
fullstack_fixture_data *ffd = gpr_malloc(sizeof(fullstack_fixture_data));
|
||||
memset(&f, 0, sizeof(f));
|
||||
|
||||
gpr_join_host_port(&ffd->localaddr, "localhost", port);
|
||||
|
||||
f.fixture_data = ffd;
|
||||
f.cq = grpc_completion_queue_create(NULL);
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
void chttp2_init_client_fullstack(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *client_args) {
|
||||
fullstack_fixture_data *ffd = f->fixture_data;
|
||||
f->client = grpc_insecure_channel_create(ffd->localaddr, client_args, NULL);
|
||||
GPR_ASSERT(f->client);
|
||||
}
|
||||
|
||||
void chttp2_init_server_fullstack(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *server_args) {
|
||||
fullstack_fixture_data *ffd = f->fixture_data;
|
||||
if (f->server) {
|
||||
grpc_server_destroy(f->server);
|
||||
}
|
||||
f->server = grpc_server_create(server_args, NULL);
|
||||
grpc_server_register_completion_queue(f->server, f->cq, NULL);
|
||||
GPR_ASSERT(grpc_server_add_insecure_http2_port(f->server, ffd->localaddr));
|
||||
grpc_server_start(f->server);
|
||||
}
|
||||
|
||||
void chttp2_tear_down_fullstack(grpc_end2end_test_fixture *f) {
|
||||
fullstack_fixture_data *ffd = f->fixture_data;
|
||||
gpr_free(ffd->localaddr);
|
||||
gpr_free(ffd);
|
||||
}
|
||||
|
||||
/* All test configurations */
|
||||
static grpc_end2end_test_config configs[] = {
|
||||
{"chttp2/fullstack", FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION,
|
||||
chttp2_create_fixture_fullstack, chttp2_init_client_fullstack,
|
||||
chttp2_init_server_fullstack, chttp2_tear_down_fullstack},
|
||||
};
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
size_t i;
|
||||
|
||||
/* force tracing on, with a value to force many
|
||||
code paths in trace.c to be taken */
|
||||
gpr_setenv("GRPC_TRACE", "doesnt-exist,http,all");
|
||||
|
||||
#ifdef GPR_POSIX_SOCKET
|
||||
g_fixture_slowdown_factor = isatty(STDOUT_FILENO) ? 10.0 : 1.0;
|
||||
#else
|
||||
g_fixture_slowdown_factor = 10.0;
|
||||
#endif
|
||||
|
||||
grpc_test_init(argc, argv);
|
||||
grpc_init();
|
||||
|
||||
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
|
||||
grpc_end2end_tests(argc, argv, configs[i]);
|
||||
}
|
||||
|
||||
GPR_ASSERT(0 == grpc_tracer_set_enabled("also-doesnt-exist", 0));
|
||||
GPR_ASSERT(1 == grpc_tracer_set_enabled("http", 1));
|
||||
GPR_ASSERT(1 == grpc_tracer_set_enabled("all", 1));
|
||||
|
||||
grpc_shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1,178 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* 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 "test/core/end2end/end2end_tests.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "src/core/channel/client_channel.h"
|
||||
#include "src/core/channel/connected_channel.h"
|
||||
#include "src/core/channel/http_client_filter.h"
|
||||
#include "src/core/channel/http_server_filter.h"
|
||||
#include "src/core/channel/compress_filter.h"
|
||||
#include "src/core/iomgr/endpoint_pair.h"
|
||||
#include "src/core/iomgr/iomgr.h"
|
||||
#include "src/core/support/env.h"
|
||||
#include "src/core/surface/channel.h"
|
||||
#include "src/core/surface/server.h"
|
||||
#include "src/core/transport/chttp2_transport.h"
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpc/support/sync.h>
|
||||
#include <grpc/support/thd.h>
|
||||
#include <grpc/support/useful.h>
|
||||
#include "test/core/util/port.h"
|
||||
#include "test/core/util/test_config.h"
|
||||
|
||||
/* chttp2 transport that is immediately available (used for testing
|
||||
connected_channel without a client_channel */
|
||||
|
||||
static void server_setup_transport(void *ts, grpc_transport *transport) {
|
||||
grpc_end2end_test_fixture *f = ts;
|
||||
static grpc_channel_filter const *extra_filters[] = {
|
||||
&grpc_http_server_filter};
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_server_setup_transport(&exec_ctx, f->server, transport, extra_filters,
|
||||
GPR_ARRAY_SIZE(extra_filters),
|
||||
grpc_server_get_channel_args(f->server));
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
grpc_end2end_test_fixture *f;
|
||||
grpc_channel_args *client_args;
|
||||
} sp_client_setup;
|
||||
|
||||
static void client_setup_transport(grpc_exec_ctx *exec_ctx, void *ts,
|
||||
grpc_transport *transport) {
|
||||
sp_client_setup *cs = ts;
|
||||
|
||||
const grpc_channel_filter *filters[] = {&grpc_http_client_filter,
|
||||
&grpc_compress_filter,
|
||||
&grpc_connected_channel_filter};
|
||||
size_t nfilters = sizeof(filters) / sizeof(*filters);
|
||||
grpc_channel *channel = grpc_channel_create_from_filters(
|
||||
exec_ctx, "socketpair-target", filters, nfilters, cs->client_args, 1);
|
||||
|
||||
cs->f->client = channel;
|
||||
|
||||
grpc_connected_channel_bind_transport(grpc_channel_get_channel_stack(channel),
|
||||
transport);
|
||||
}
|
||||
|
||||
static grpc_end2end_test_fixture chttp2_create_fixture_socketpair(
|
||||
grpc_channel_args *client_args, grpc_channel_args *server_args) {
|
||||
grpc_endpoint_pair *sfd = gpr_malloc(sizeof(grpc_endpoint_pair));
|
||||
|
||||
grpc_end2end_test_fixture f;
|
||||
memset(&f, 0, sizeof(f));
|
||||
f.fixture_data = sfd;
|
||||
f.cq = grpc_completion_queue_create(NULL);
|
||||
|
||||
*sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536);
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
static void chttp2_init_client_socketpair(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *client_args) {
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_endpoint_pair *sfd = f->fixture_data;
|
||||
grpc_transport *transport;
|
||||
sp_client_setup cs;
|
||||
cs.client_args = client_args;
|
||||
cs.f = f;
|
||||
transport =
|
||||
grpc_create_chttp2_transport(&exec_ctx, client_args, sfd->client, 1);
|
||||
client_setup_transport(&exec_ctx, &cs, transport);
|
||||
GPR_ASSERT(f->client);
|
||||
grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0);
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
static void chttp2_init_server_socketpair(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *server_args) {
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_endpoint_pair *sfd = f->fixture_data;
|
||||
grpc_transport *transport;
|
||||
GPR_ASSERT(!f->server);
|
||||
f->server = grpc_server_create_from_filters(NULL, 0, server_args);
|
||||
grpc_server_register_completion_queue(f->server, f->cq, NULL);
|
||||
grpc_server_start(f->server);
|
||||
transport =
|
||||
grpc_create_chttp2_transport(&exec_ctx, server_args, sfd->server, 0);
|
||||
server_setup_transport(f, transport);
|
||||
grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0);
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
static void chttp2_tear_down_socketpair(grpc_end2end_test_fixture *f) {
|
||||
gpr_free(f->fixture_data);
|
||||
}
|
||||
|
||||
/* All test configurations */
|
||||
static grpc_end2end_test_config configs[] = {
|
||||
{"chttp2/socketpair", 0, chttp2_create_fixture_socketpair,
|
||||
chttp2_init_client_socketpair, chttp2_init_server_socketpair,
|
||||
chttp2_tear_down_socketpair},
|
||||
};
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
size_t i;
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
|
||||
/* force tracing on, with a value to force many
|
||||
code paths in trace.c to be taken */
|
||||
gpr_setenv("GRPC_TRACE", "doesnt-exist,http,all");
|
||||
#ifdef GPR_POSIX_SOCKET
|
||||
g_fixture_slowdown_factor = isatty(STDOUT_FILENO) ? 10.0 : 1.0;
|
||||
#else
|
||||
g_fixture_slowdown_factor = 10.0;
|
||||
#endif
|
||||
|
||||
grpc_test_init(argc, argv);
|
||||
grpc_init();
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
|
||||
GPR_ASSERT(0 == grpc_tracer_set_enabled("also-doesnt-exist", 0));
|
||||
GPR_ASSERT(1 == grpc_tracer_set_enabled("http", 1));
|
||||
GPR_ASSERT(1 == grpc_tracer_set_enabled("all", 1));
|
||||
|
||||
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
|
||||
grpc_end2end_tests(argc, argv, configs[i]);
|
||||
}
|
||||
|
||||
grpc_shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* 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 "test/core/end2end/end2end_tests.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "src/core/channel/client_channel.h"
|
||||
#include "src/core/channel/compress_filter.h"
|
||||
#include "src/core/channel/connected_channel.h"
|
||||
#include "src/core/channel/http_client_filter.h"
|
||||
#include "src/core/channel/http_server_filter.h"
|
||||
#include "src/core/iomgr/endpoint_pair.h"
|
||||
#include "src/core/iomgr/iomgr.h"
|
||||
#include "src/core/surface/channel.h"
|
||||
#include "src/core/surface/server.h"
|
||||
#include "src/core/transport/chttp2_transport.h"
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpc/support/sync.h>
|
||||
#include <grpc/support/thd.h>
|
||||
#include <grpc/support/useful.h>
|
||||
#include "test/core/util/port.h"
|
||||
#include "test/core/util/test_config.h"
|
||||
|
||||
/* chttp2 transport that is immediately available (used for testing
|
||||
connected_channel without a client_channel */
|
||||
|
||||
static void server_setup_transport(void *ts, grpc_transport *transport) {
|
||||
grpc_end2end_test_fixture *f = ts;
|
||||
static grpc_channel_filter const *extra_filters[] = {
|
||||
&grpc_http_server_filter};
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_server_setup_transport(&exec_ctx, f->server, transport, extra_filters,
|
||||
GPR_ARRAY_SIZE(extra_filters),
|
||||
grpc_server_get_channel_args(f->server));
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
grpc_end2end_test_fixture *f;
|
||||
grpc_channel_args *client_args;
|
||||
} sp_client_setup;
|
||||
|
||||
static void client_setup_transport(grpc_exec_ctx *exec_ctx, void *ts,
|
||||
grpc_transport *transport) {
|
||||
sp_client_setup *cs = ts;
|
||||
|
||||
const grpc_channel_filter *filters[] = {&grpc_http_client_filter,
|
||||
&grpc_compress_filter,
|
||||
&grpc_connected_channel_filter};
|
||||
size_t nfilters = sizeof(filters) / sizeof(*filters);
|
||||
grpc_channel *channel = grpc_channel_create_from_filters(
|
||||
exec_ctx, "socketpair-target", filters, nfilters, cs->client_args, 1);
|
||||
|
||||
cs->f->client = channel;
|
||||
|
||||
grpc_connected_channel_bind_transport(grpc_channel_get_channel_stack(channel),
|
||||
transport);
|
||||
}
|
||||
|
||||
static grpc_end2end_test_fixture chttp2_create_fixture_socketpair(
|
||||
grpc_channel_args *client_args, grpc_channel_args *server_args) {
|
||||
grpc_endpoint_pair *sfd = gpr_malloc(sizeof(grpc_endpoint_pair));
|
||||
|
||||
grpc_end2end_test_fixture f;
|
||||
memset(&f, 0, sizeof(f));
|
||||
f.fixture_data = sfd;
|
||||
f.cq = grpc_completion_queue_create(NULL);
|
||||
|
||||
*sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536);
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
static void chttp2_init_client_socketpair(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *client_args) {
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_endpoint_pair *sfd = f->fixture_data;
|
||||
grpc_transport *transport;
|
||||
sp_client_setup cs;
|
||||
cs.client_args = client_args;
|
||||
cs.f = f;
|
||||
transport =
|
||||
grpc_create_chttp2_transport(&exec_ctx, client_args, sfd->client, 1);
|
||||
client_setup_transport(&exec_ctx, &cs, transport);
|
||||
GPR_ASSERT(f->client);
|
||||
grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0);
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
static void chttp2_init_server_socketpair(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *server_args) {
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_endpoint_pair *sfd = f->fixture_data;
|
||||
grpc_transport *transport;
|
||||
GPR_ASSERT(!f->server);
|
||||
f->server = grpc_server_create_from_filters(NULL, 0, server_args);
|
||||
grpc_server_register_completion_queue(f->server, f->cq, NULL);
|
||||
grpc_server_start(f->server);
|
||||
transport =
|
||||
grpc_create_chttp2_transport(&exec_ctx, server_args, sfd->server, 0);
|
||||
server_setup_transport(f, transport);
|
||||
grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0);
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
static void chttp2_tear_down_socketpair(grpc_end2end_test_fixture *f) {
|
||||
gpr_free(f->fixture_data);
|
||||
}
|
||||
|
||||
/* All test configurations */
|
||||
static grpc_end2end_test_config configs[] = {
|
||||
{"chttp2/socketpair", 0, chttp2_create_fixture_socketpair,
|
||||
chttp2_init_client_socketpair, chttp2_init_server_socketpair,
|
||||
chttp2_tear_down_socketpair},
|
||||
};
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
size_t i;
|
||||
|
||||
grpc_test_init(argc, argv);
|
||||
grpc_init();
|
||||
|
||||
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
|
||||
grpc_end2end_tests(argc, argv, configs[i]);
|
||||
}
|
||||
|
||||
grpc_shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* 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 "test/core/end2end/end2end_tests.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "src/core/channel/client_channel.h"
|
||||
#include "src/core/channel/connected_channel.h"
|
||||
#include "src/core/channel/http_client_filter.h"
|
||||
#include "src/core/channel/http_server_filter.h"
|
||||
#include "src/core/channel/compress_filter.h"
|
||||
#include "src/core/iomgr/endpoint_pair.h"
|
||||
#include "src/core/iomgr/iomgr.h"
|
||||
#include "src/core/surface/channel.h"
|
||||
#include "src/core/surface/server.h"
|
||||
#include "src/core/transport/chttp2_transport.h"
|
||||
#include <grpc/support/alloc.h>
|
||||
#include <grpc/support/log.h>
|
||||
#include <grpc/support/sync.h>
|
||||
#include <grpc/support/thd.h>
|
||||
#include <grpc/support/useful.h>
|
||||
#include "test/core/util/port.h"
|
||||
#include "test/core/util/test_config.h"
|
||||
|
||||
/* chttp2 transport that is immediately available (used for testing
|
||||
connected_channel without a client_channel */
|
||||
|
||||
static void server_setup_transport(void *ts, grpc_transport *transport) {
|
||||
grpc_end2end_test_fixture *f = ts;
|
||||
static grpc_channel_filter const *extra_filters[] = {
|
||||
&grpc_http_server_filter};
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_server_setup_transport(&exec_ctx, f->server, transport, extra_filters,
|
||||
GPR_ARRAY_SIZE(extra_filters),
|
||||
grpc_server_get_channel_args(f->server));
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
grpc_end2end_test_fixture *f;
|
||||
grpc_channel_args *client_args;
|
||||
} sp_client_setup;
|
||||
|
||||
static void client_setup_transport(grpc_exec_ctx *exec_ctx, void *ts,
|
||||
grpc_transport *transport) {
|
||||
sp_client_setup *cs = ts;
|
||||
|
||||
const grpc_channel_filter *filters[] = {&grpc_http_client_filter,
|
||||
&grpc_compress_filter,
|
||||
&grpc_connected_channel_filter};
|
||||
size_t nfilters = sizeof(filters) / sizeof(*filters);
|
||||
grpc_channel *channel = grpc_channel_create_from_filters(
|
||||
exec_ctx, "socketpair-target", filters, nfilters, cs->client_args, 1);
|
||||
|
||||
cs->f->client = channel;
|
||||
|
||||
grpc_connected_channel_bind_transport(grpc_channel_get_channel_stack(channel),
|
||||
transport);
|
||||
}
|
||||
|
||||
static grpc_end2end_test_fixture chttp2_create_fixture_socketpair(
|
||||
grpc_channel_args *client_args, grpc_channel_args *server_args) {
|
||||
grpc_endpoint_pair *sfd = gpr_malloc(sizeof(grpc_endpoint_pair));
|
||||
|
||||
grpc_end2end_test_fixture f;
|
||||
memset(&f, 0, sizeof(f));
|
||||
f.fixture_data = sfd;
|
||||
f.cq = grpc_completion_queue_create(NULL);
|
||||
|
||||
*sfd = grpc_iomgr_create_endpoint_pair("fixture", 1);
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
static void chttp2_init_client_socketpair(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *client_args) {
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_endpoint_pair *sfd = f->fixture_data;
|
||||
grpc_transport *transport;
|
||||
sp_client_setup cs;
|
||||
cs.client_args = client_args;
|
||||
cs.f = f;
|
||||
transport =
|
||||
grpc_create_chttp2_transport(&exec_ctx, client_args, sfd->client, 1);
|
||||
client_setup_transport(&exec_ctx, &cs, transport);
|
||||
GPR_ASSERT(f->client);
|
||||
grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0);
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
static void chttp2_init_server_socketpair(grpc_end2end_test_fixture *f,
|
||||
grpc_channel_args *server_args) {
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
grpc_endpoint_pair *sfd = f->fixture_data;
|
||||
grpc_transport *transport;
|
||||
GPR_ASSERT(!f->server);
|
||||
f->server = grpc_server_create_from_filters(NULL, 0, server_args);
|
||||
grpc_server_register_completion_queue(f->server, f->cq, NULL);
|
||||
grpc_server_start(f->server);
|
||||
transport =
|
||||
grpc_create_chttp2_transport(&exec_ctx, server_args, sfd->server, 0);
|
||||
server_setup_transport(f, transport);
|
||||
grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0);
|
||||
grpc_exec_ctx_finish(&exec_ctx);
|
||||
}
|
||||
|
||||
static void chttp2_tear_down_socketpair(grpc_end2end_test_fixture *f) {
|
||||
gpr_free(f->fixture_data);
|
||||
}
|
||||
|
||||
/* All test configurations */
|
||||
static grpc_end2end_test_config configs[] = {
|
||||
{"chttp2/socketpair_one_byte_at_a_time", 0,
|
||||
chttp2_create_fixture_socketpair, chttp2_init_client_socketpair,
|
||||
chttp2_init_server_socketpair, chttp2_tear_down_socketpair},
|
||||
};
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
size_t i;
|
||||
|
||||
grpc_test_init(argc, argv);
|
||||
grpc_init();
|
||||
|
||||
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
|
||||
grpc_end2end_tests(argc, argv, configs[i]);
|
||||
}
|
||||
|
||||
grpc_shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -91,9 +91,6 @@ static void connected(grpc_exec_ctx *exec_ctx, void *arg, bool success) {
|
|||
grpc_chttp2_transport_start_reading(exec_ctx, c->result->transport, NULL,
|
||||
0);
|
||||
GPR_ASSERT(c->result->transport);
|
||||
c->result->filters = gpr_malloc(sizeof(grpc_channel_filter *));
|
||||
c->result->filters[0] = &grpc_http_client_filter;
|
||||
c->result->num_filters = 1;
|
||||
} else {
|
||||
memset(c->result, 0, sizeof(*c->result));
|
||||
}
|
||||
|
|
@ -179,18 +176,12 @@ static const grpc_subchannel_factory_vtable test_subchannel_factory_vtable = {
|
|||
grpc_channel *channel_create(const char *target, const grpc_channel_args *args,
|
||||
grpc_subchannel **sniffed_subchannel) {
|
||||
grpc_channel *channel = NULL;
|
||||
#define MAX_FILTERS 1
|
||||
const grpc_channel_filter *filters[MAX_FILTERS];
|
||||
grpc_resolver *resolver;
|
||||
subchannel_factory *f;
|
||||
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
|
||||
size_t n = 0;
|
||||
|
||||
filters[n++] = &grpc_client_channel_filter;
|
||||
GPR_ASSERT(n <= MAX_FILTERS);
|
||||
|
||||
channel =
|
||||
grpc_channel_create_from_filters(&exec_ctx, target, filters, n, args, 1);
|
||||
grpc_channel_create(&exec_ctx, target, args, GRPC_CLIENT_CHANNEL, NULL);
|
||||
|
||||
f = gpr_malloc(sizeof(*f));
|
||||
f->sniffed_subchannel = sniffed_subchannel;
|
||||
|
|
|
|||
|
|
@ -59,14 +59,10 @@ END2END_FIXTURES = {
|
|||
platforms=['linux']),
|
||||
'h2_full+poll+pipe': default_unsecure_fixture_options._replace(
|
||||
platforms=['linux']),
|
||||
'h2_full+trace': default_unsecure_fixture_options._replace(tracing=True),
|
||||
'h2_oauth2': default_secure_fixture_options._replace(ci_mac=False),
|
||||
'h2_proxy': default_unsecure_fixture_options._replace(includes_proxy=True,
|
||||
ci_mac=False),
|
||||
'h2_sockpair_1byte': socketpair_unsecure_fixture_options._replace(
|
||||
ci_mac=False),
|
||||
'h2_sockpair': socketpair_unsecure_fixture_options._replace(ci_mac=False),
|
||||
'h2_sockpair+trace': socketpair_unsecure_fixture_options._replace(
|
||||
tracing=True),
|
||||
'h2_ssl': default_secure_fixture_options,
|
||||
'h2_ssl+poll': default_secure_fixture_options._replace(platforms=['linux']),
|
||||
'h2_ssl_proxy': default_secure_fixture_options._replace(includes_proxy=True,
|
||||
|
|
|
|||
|
|
@ -788,8 +788,10 @@ src/core/tsi/ssl_types.h \
|
|||
src/core/tsi/transport_security.h \
|
||||
src/core/tsi/transport_security_interface.h \
|
||||
src/core/census/grpc_filter.h \
|
||||
src/core/census/grpc_plugin.h \
|
||||
src/core/channel/channel_args.h \
|
||||
src/core/channel/channel_stack.h \
|
||||
src/core/channel/channel_stack_builder.h \
|
||||
src/core/channel/client_channel.h \
|
||||
src/core/channel/client_uchannel.h \
|
||||
src/core/channel/compress_filter.h \
|
||||
|
|
@ -868,9 +870,12 @@ src/core/surface/api_trace.h \
|
|||
src/core/surface/call.h \
|
||||
src/core/surface/call_test_only.h \
|
||||
src/core/surface/channel.h \
|
||||
src/core/surface/channel_init.h \
|
||||
src/core/surface/channel_stack_type.h \
|
||||
src/core/surface/completion_queue.h \
|
||||
src/core/surface/event_string.h \
|
||||
src/core/surface/init.h \
|
||||
src/core/surface/lame_client.h \
|
||||
src/core/surface/server.h \
|
||||
src/core/surface/surface_trace.h \
|
||||
src/core/transport/byte_stream.h \
|
||||
|
|
@ -927,8 +932,10 @@ src/core/tsi/ssl_transport_security.c \
|
|||
src/core/tsi/transport_security.c \
|
||||
src/core/census/grpc_context.c \
|
||||
src/core/census/grpc_filter.c \
|
||||
src/core/census/grpc_plugin.c \
|
||||
src/core/channel/channel_args.c \
|
||||
src/core/channel/channel_stack.c \
|
||||
src/core/channel/channel_stack_builder.c \
|
||||
src/core/channel/client_channel.c \
|
||||
src/core/channel/client_uchannel.c \
|
||||
src/core/channel/compress_filter.c \
|
||||
|
|
@ -1014,7 +1021,9 @@ src/core/surface/call_log_batch.c \
|
|||
src/core/surface/channel.c \
|
||||
src/core/surface/channel_connectivity.c \
|
||||
src/core/surface/channel_create.c \
|
||||
src/core/surface/channel_init.c \
|
||||
src/core/surface/channel_ping.c \
|
||||
src/core/surface/channel_stack_type.c \
|
||||
src/core/surface/completion_queue.c \
|
||||
src/core/surface/event_string.c \
|
||||
src/core/surface/init.c \
|
||||
|
|
@ -1022,7 +1031,6 @@ src/core/surface/lame_client.c \
|
|||
src/core/surface/metadata_array.c \
|
||||
src/core/surface/server.c \
|
||||
src/core/surface/server_chttp2.c \
|
||||
src/core/surface/server_create.c \
|
||||
src/core/surface/validate_metadata.c \
|
||||
src/core/surface/version.c \
|
||||
src/core/transport/byte_stream.c \
|
||||
|
|
|
|||
|
|
@ -2422,6 +2422,22 @@
|
|||
"test/core/end2end/fixtures/h2_full+poll+pipe.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_certs",
|
||||
"end2end_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc",
|
||||
"grpc_test_util"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_full+trace_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_full+trace.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_certs",
|
||||
|
|
@ -2454,54 +2470,6 @@
|
|||
"test/core/end2end/fixtures/h2_proxy.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_certs",
|
||||
"end2end_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc",
|
||||
"grpc_test_util"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_sockpair_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_sockpair.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_certs",
|
||||
"end2end_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc",
|
||||
"grpc_test_util"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_sockpair+trace_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_sockpair+trace.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_certs",
|
||||
"end2end_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc",
|
||||
"grpc_test_util"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_sockpair_1byte_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_sockpair_1byte.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_certs",
|
||||
|
|
@ -2688,6 +2656,21 @@
|
|||
"test/core/end2end/fixtures/h2_full+poll+pipe.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_nosec_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc_test_util_unsecure",
|
||||
"grpc_unsecure"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_full+trace_nosec_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_full+trace.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_nosec_tests",
|
||||
|
|
@ -2703,51 +2686,6 @@
|
|||
"test/core/end2end/fixtures/h2_proxy.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_nosec_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc_test_util_unsecure",
|
||||
"grpc_unsecure"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_sockpair_nosec_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_sockpair.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_nosec_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc_test_util_unsecure",
|
||||
"grpc_unsecure"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_sockpair+trace_nosec_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_sockpair+trace.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_nosec_tests",
|
||||
"gpr",
|
||||
"gpr_test_util",
|
||||
"grpc_test_util_unsecure",
|
||||
"grpc_unsecure"
|
||||
],
|
||||
"headers": [],
|
||||
"language": "c",
|
||||
"name": "h2_sockpair_1byte_nosec_test",
|
||||
"src": [
|
||||
"test/core/end2end/fixtures/h2_sockpair_1byte.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"deps": [
|
||||
"end2end_nosec_tests",
|
||||
|
|
@ -2983,10 +2921,12 @@
|
|||
"include/grpc/status.h",
|
||||
"src/core/census/aggregation.h",
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/census/log.h",
|
||||
"src/core/census/rpc_metric_id.h",
|
||||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.h",
|
||||
"src/core/channel/compress_filter.h",
|
||||
|
|
@ -3074,9 +3014,12 @@
|
|||
"src/core/surface/call.h",
|
||||
"src/core/surface/call_test_only.h",
|
||||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.h",
|
||||
"src/core/surface/init.h",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/transport/byte_stream.h",
|
||||
|
|
@ -3134,6 +3077,8 @@
|
|||
"src/core/census/grpc_context.c",
|
||||
"src/core/census/grpc_filter.c",
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.c",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/census/initialize.c",
|
||||
"src/core/census/log.c",
|
||||
"src/core/census/log.h",
|
||||
|
|
@ -3145,6 +3090,8 @@
|
|||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.c",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.c",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.c",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.c",
|
||||
|
|
@ -3333,7 +3280,11 @@
|
|||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_connectivity.c",
|
||||
"src/core/surface/channel_create.c",
|
||||
"src/core/surface/channel_init.c",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_ping.c",
|
||||
"src/core/surface/channel_stack_type.c",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.c",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.c",
|
||||
|
|
@ -3342,12 +3293,12 @@
|
|||
"src/core/surface/init.h",
|
||||
"src/core/surface/init_secure.c",
|
||||
"src/core/surface/lame_client.c",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/metadata_array.c",
|
||||
"src/core/surface/secure_channel_create.c",
|
||||
"src/core/surface/server.c",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/server_chttp2.c",
|
||||
"src/core/surface/server_create.c",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/surface/validate_metadata.c",
|
||||
"src/core/surface/version.c",
|
||||
|
|
@ -3514,10 +3465,12 @@
|
|||
"include/grpc/status.h",
|
||||
"src/core/census/aggregation.h",
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/census/log.h",
|
||||
"src/core/census/rpc_metric_id.h",
|
||||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.h",
|
||||
"src/core/channel/compress_filter.h",
|
||||
|
|
@ -3596,9 +3549,12 @@
|
|||
"src/core/surface/call.h",
|
||||
"src/core/surface/call_test_only.h",
|
||||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.h",
|
||||
"src/core/surface/init.h",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/transport/byte_stream.h",
|
||||
|
|
@ -3650,6 +3606,8 @@
|
|||
"src/core/census/grpc_context.c",
|
||||
"src/core/census/grpc_filter.c",
|
||||
"src/core/census/grpc_filter.h",
|
||||
"src/core/census/grpc_plugin.c",
|
||||
"src/core/census/grpc_plugin.h",
|
||||
"src/core/census/initialize.c",
|
||||
"src/core/census/log.c",
|
||||
"src/core/census/log.h",
|
||||
|
|
@ -3661,6 +3619,8 @@
|
|||
"src/core/channel/channel_args.h",
|
||||
"src/core/channel/channel_stack.c",
|
||||
"src/core/channel/channel_stack.h",
|
||||
"src/core/channel/channel_stack_builder.c",
|
||||
"src/core/channel/channel_stack_builder.h",
|
||||
"src/core/channel/client_channel.c",
|
||||
"src/core/channel/client_channel.h",
|
||||
"src/core/channel/client_uchannel.c",
|
||||
|
|
@ -3824,7 +3784,11 @@
|
|||
"src/core/surface/channel.h",
|
||||
"src/core/surface/channel_connectivity.c",
|
||||
"src/core/surface/channel_create.c",
|
||||
"src/core/surface/channel_init.c",
|
||||
"src/core/surface/channel_init.h",
|
||||
"src/core/surface/channel_ping.c",
|
||||
"src/core/surface/channel_stack_type.c",
|
||||
"src/core/surface/channel_stack_type.h",
|
||||
"src/core/surface/completion_queue.c",
|
||||
"src/core/surface/completion_queue.h",
|
||||
"src/core/surface/event_string.c",
|
||||
|
|
@ -3833,11 +3797,11 @@
|
|||
"src/core/surface/init.h",
|
||||
"src/core/surface/init_unsecure.c",
|
||||
"src/core/surface/lame_client.c",
|
||||
"src/core/surface/lame_client.h",
|
||||
"src/core/surface/metadata_array.c",
|
||||
"src/core/surface/server.c",
|
||||
"src/core/surface/server.h",
|
||||
"src/core/surface/server_chttp2.c",
|
||||
"src/core/surface/server_create.c",
|
||||
"src/core/surface/surface_trace.h",
|
||||
"src/core/surface/validate_metadata.c",
|
||||
"src/core/surface/version.c",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1115,6 +1115,19 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_test", "vcxproj\tes
|
|||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full+trace_test", "vcxproj\test/end2end/fixtures\h2_full+trace_test\h2_full+trace_test.vcxproj", "{16C713C6-062E-F71F-A44C-52DC35494B27}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4}
|
||||
{80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B}
|
||||
{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}
|
||||
{29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_oauth2_test", "vcxproj\test/end2end/fixtures\h2_oauth2_test\h2_oauth2_test.vcxproj", "{0F761FF3-342A-C429-711F-F76181BAA52D}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
|
|
@ -1141,45 +1154,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_test", "vcxproj\te
|
|||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_test", "vcxproj\test/end2end/fixtures\h2_sockpair_test\h2_sockpair_test.vcxproj", "{67458AF8-A122-7740-F195-C2E74A106FAB}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4}
|
||||
{80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B}
|
||||
{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}
|
||||
{29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_test\h2_sockpair+trace_test.vcxproj", "{82878169-5A89-FD1E-31A6-E9F07BB92418}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4}
|
||||
{80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B}
|
||||
{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}
|
||||
{29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_test\h2_sockpair_1byte_test.vcxproj", "{03A65361-E139-5344-1868-8E8FC269C6E6}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4}
|
||||
{80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B}
|
||||
{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}
|
||||
{29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_test", "vcxproj\test/end2end/fixtures\h2_ssl_test\h2_ssl_test.vcxproj", "{EA78D290-4098-FF04-C647-013F6B81E4E7}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
|
|
@ -1255,6 +1229,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_nosec_test", "vcxpr
|
|||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_full+trace_nosec_test\h2_full+trace_nosec_test.vcxproj", "{DFD51943-4906-8051-7D66-6A7D50E0D87E}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}
|
||||
{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}
|
||||
{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_nosec_test", "vcxproj\test/end2end/fixtures\h2_proxy_nosec_test\h2_proxy_nosec_test.vcxproj", "{6EC72045-98CB-8A8D-9788-BC94209E23C8}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
|
|
@ -1267,42 +1253,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_nosec_test", "vcxp
|
|||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_nosec_test\h2_sockpair_nosec_test.vcxproj", "{B3F26242-A43D-4F77-A84C-0F478741A061}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}
|
||||
{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}
|
||||
{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_nosec_test\h2_sockpair+trace_nosec_test.vcxproj", "{962380E0-1C06-8917-8F7F-1A02E0E93BE7}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}
|
||||
{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}
|
||||
{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_nosec_test\h2_sockpair_1byte_nosec_test.vcxproj", "{485E6713-487D-F274-BDE7-5D29300C93FE}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
EndProjectSection
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}
|
||||
{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}
|
||||
{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}
|
||||
{EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037}
|
||||
{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_uchannel_nosec_test", "vcxproj\test/end2end/fixtures\h2_uchannel_nosec_test\h2_uchannel_nosec_test.vcxproj", "{BD79A629-4181-DB5E-C28F-44EB280A6F91}"
|
||||
ProjectSection(myProperties) = preProject
|
||||
lib = "False"
|
||||
|
|
@ -3023,6 +2973,22 @@ Global
|
|||
{EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release|x64.ActiveCfg = Release|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|x64.Build.0 = Debug|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release|Win32.Build.0 = Release|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release|x64.Build.0 = Release|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0F761FF3-342A-C429-711F-F76181BAA52D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
|
|
@ -3055,54 +3021,6 @@ Global
|
|||
{5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release|x64.ActiveCfg = Release|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|x64.Build.0 = Debug|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release|Win32.Build.0 = Release|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release|x64.Build.0 = Release|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|x64.ActiveCfg = Release|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|x64.Build.0 = Debug|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|Win32.Build.0 = Release|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|x64.Build.0 = Release|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release|x64.ActiveCfg = Release|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|x64.Build.0 = Debug|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release|Win32.Build.0 = Release|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release|x64.Build.0 = Release|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
|
|
@ -3199,6 +3117,22 @@ Global
|
|||
{345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|x64.ActiveCfg = Release|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|x64.Build.0 = Debug|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|Win32.Build.0 = Release|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|x64.Build.0 = Release|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
|
|
@ -3215,54 +3149,6 @@ Global
|
|||
{6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release|x64.ActiveCfg = Release|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|x64.Build.0 = Debug|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release|Win32.Build.0 = Release|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release|x64.Build.0 = Release|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|x64.ActiveCfg = Release|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|x64.Build.0 = Debug|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|Win32.Build.0 = Release|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|x64.Build.0 = Release|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release|x64.ActiveCfg = Release|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|x64.Build.0 = Debug|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release|Win32.Build.0 = Release|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release|x64.Build.0 = Release|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|Win32.Build.0 = Debug|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|x64.ActiveCfg = Debug|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|x64.Build.0 = Debug|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|Win32.ActiveCfg = Release|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|Win32.Build.0 = Release|Win32
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|x64.ActiveCfg = Release|x64
|
||||
{485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|x64.Build.0 = Release|x64
|
||||
{BD79A629-4181-DB5E-C28F-44EB280A6F91}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BD79A629-4181-DB5E-C28F-44EB280A6F91}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BD79A629-4181-DB5E-C28F-44EB280A6F91}.Release|Win32.ActiveCfg = Release|Win32
|
||||
|
|
|
|||
|
|
@ -297,8 +297,10 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security_interface.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\client_uchannel.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\compress_filter.h" />
|
||||
|
|
@ -377,9 +379,12 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\call.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\call_test_only.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\event_string.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\surface_trace.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\transport\byte_stream.h" />
|
||||
|
|
@ -461,10 +466,14 @@
|
|||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\client_uchannel.c">
|
||||
|
|
@ -635,8 +644,12 @@
|
|||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\event_string.c">
|
||||
|
|
@ -651,8 +664,6 @@
|
|||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_create.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\version.c">
|
||||
|
|
|
|||
|
|
@ -70,12 +70,18 @@
|
|||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -331,9 +337,15 @@
|
|||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -355,9 +367,6 @@
|
|||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_create.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -554,12 +563,18 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -794,6 +809,12 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -803,6 +824,9 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -273,8 +273,10 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\client_uchannel.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\compress_filter.h" />
|
||||
|
|
@ -353,9 +355,12 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\call.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\call_test_only.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\event_string.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\surface_trace.h" />
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\transport\byte_stream.h" />
|
||||
|
|
@ -397,10 +402,14 @@
|
|||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\client_uchannel.c">
|
||||
|
|
@ -571,8 +580,12 @@
|
|||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\event_string.c">
|
||||
|
|
@ -587,8 +600,6 @@
|
|||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_create.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\version.c">
|
||||
|
|
|
|||
|
|
@ -10,12 +10,18 @@
|
|||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -271,9 +277,15 @@
|
|||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -295,9 +307,6 @@
|
|||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\server_create.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -449,12 +458,18 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h">
|
||||
<Filter>src\core\census</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h">
|
||||
<Filter>src\core\channel</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -689,6 +704,12 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
|
|
@ -698,6 +719,9 @@
|
|||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h">
|
||||
<Filter>src\core\surface</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{B3F26242-A43D-4F77-A84C-0F478741A061}</ProjectGuid>
|
||||
<ProjectGuid>{DFD51943-4906-8051-7D66-6A7D50E0D87E}</ProjectGuid>
|
||||
<IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected>
|
||||
<IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
|
|
@ -60,14 +60,14 @@
|
|||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<TargetName>h2_sockpair_nosec_test</TargetName>
|
||||
<TargetName>h2_full+trace_nosec_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<TargetName>h2_sockpair_nosec_test</TargetName>
|
||||
<TargetName>h2_full+trace_nosec_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair.c">
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_full+trace.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
@ -1,23 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair.c">
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_full+trace.c">
|
||||
<Filter>test\core\end2end\fixtures</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Filter Include="test">
|
||||
<UniqueIdentifier>{f20f0d83-536e-bb20-7f34-452d331c4c38}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2828a8fc-bcc1-7b1c-4953-0c8eaf9fe643}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core">
|
||||
<UniqueIdentifier>{85b8511d-6fef-ba7c-331d-03b6a4f32ebb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d8e78fb2-4316-018b-704a-0944fd0c6fd9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end">
|
||||
<UniqueIdentifier>{08278b26-00dd-aabe-cffd-4fd130a07558}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1981c949-24c5-413c-ab03-24eff55e803a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end\fixtures">
|
||||
<UniqueIdentifier>{3a9f1bed-e220-377c-0ed6-e5b71b8a4d62}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bfc11ba4-7401-55f0-8513-598aa93e7e1a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{67458AF8-A122-7740-F195-C2E74A106FAB}</ProjectGuid>
|
||||
<ProjectGuid>{16C713C6-062E-F71F-A44C-52DC35494B27}</ProjectGuid>
|
||||
<IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected>
|
||||
<IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
|
|
@ -60,14 +60,14 @@
|
|||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<TargetName>h2_sockpair_test</TargetName>
|
||||
<TargetName>h2_full+trace_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<TargetName>h2_sockpair_test</TargetName>
|
||||
<TargetName>h2_full+trace_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair.c">
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_full+trace.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
@ -1,23 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair.c">
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_full+trace.c">
|
||||
<Filter>test\core\end2end\fixtures</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Filter Include="test">
|
||||
<UniqueIdentifier>{29eaba5c-5e76-09e8-545a-c1352a2b73c7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{00848213-d356-89b0-1d05-8131961dc959}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core">
|
||||
<UniqueIdentifier>{30306ec6-8a4a-1c0d-c949-c3fe506ea880}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{863a91b6-f5f9-5326-129a-10003d7af98f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end">
|
||||
<UniqueIdentifier>{9abd04c0-e23e-947f-c4c6-63dea1b79a3e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2733ff09-adc7-fd49-696f-5f72df2f44e2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end\fixtures">
|
||||
<UniqueIdentifier>{e044d621-6ea6-6082-e349-da1e556b027b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{62aa4eaf-c183-f2af-9ef9-a88ee802702c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{962380E0-1C06-8917-8F7F-1A02E0E93BE7}</ProjectGuid>
|
||||
<IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected>
|
||||
<IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration">
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration">
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration">
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration">
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\global.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\openssl.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\winsock.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\zlib.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<TargetName>h2_sockpair+trace_nosec_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<TargetName>h2_sockpair+trace_nosec_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair+trace.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\test/end2end/tests\end2end_nosec_tests\end2end_nosec_tests.vcxproj">
|
||||
<Project>{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util_unsecure\grpc_test_util_unsecure.vcxproj">
|
||||
<Project>{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj">
|
||||
<Project>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj">
|
||||
<Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj">
|
||||
<Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair+trace.c">
|
||||
<Filter>test\core\end2end\fixtures</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Filter Include="test">
|
||||
<UniqueIdentifier>{6d58c14e-3f26-3100-9c99-d3c5505be59b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core">
|
||||
<UniqueIdentifier>{ffbd6f1b-f09d-f472-86bb-8fe08de1ed99}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end">
|
||||
<UniqueIdentifier>{4a8803f6-4eac-9461-4ba4-36bab3c9163d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end\fixtures">
|
||||
<UniqueIdentifier>{e4bf944c-df69-8146-d1a9-2f9a5223b453}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
|
|
@ -1,205 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{82878169-5A89-FD1E-31A6-E9F07BB92418}</ProjectGuid>
|
||||
<IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected>
|
||||
<IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration">
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration">
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration">
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration">
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\global.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\openssl.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\winsock.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\zlib.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<TargetName>h2_sockpair+trace_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<TargetName>h2_sockpair+trace_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair+trace.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\test/end2end/tests\end2end_tests\end2end_tests.vcxproj">
|
||||
<Project>{1F1F9084-2A93-B80E-364F-5754894AFAB4}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\test/end2end\end2end_certs\end2end_certs.vcxproj">
|
||||
<Project>{80EA2691-C037-6DD3-D3AB-21510BF0E64B}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj">
|
||||
<Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj">
|
||||
<Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj">
|
||||
<Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj">
|
||||
<Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair+trace.c">
|
||||
<Filter>test\core\end2end\fixtures</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Filter Include="test">
|
||||
<UniqueIdentifier>{76db4c7d-1380-dbd7-af69-a5066c212c17}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core">
|
||||
<UniqueIdentifier>{aa0b004b-815e-00f7-4707-f56ffdb7915f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end">
|
||||
<UniqueIdentifier>{b2e8b92b-e1c9-5b19-82db-852008f68200}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end\fixtures">
|
||||
<UniqueIdentifier>{70742a7b-7430-047f-04d8-45604847c8ab}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{485E6713-487D-F274-BDE7-5D29300C93FE}</ProjectGuid>
|
||||
<IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected>
|
||||
<IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration">
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration">
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration">
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration">
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\global.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\openssl.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\winsock.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\zlib.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<TargetName>h2_sockpair_1byte_nosec_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<TargetName>h2_sockpair_1byte_nosec_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair_1byte.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\test/end2end/tests\end2end_nosec_tests\end2end_nosec_tests.vcxproj">
|
||||
<Project>{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util_unsecure\grpc_test_util_unsecure.vcxproj">
|
||||
<Project>{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj">
|
||||
<Project>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj">
|
||||
<Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj">
|
||||
<Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair_1byte.c">
|
||||
<Filter>test\core\end2end\fixtures</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Filter Include="test">
|
||||
<UniqueIdentifier>{cdf621b0-2a91-c807-98a0-4793abc69eb0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core">
|
||||
<UniqueIdentifier>{e38e342a-dc51-ea87-e158-85fc18aac155}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end">
|
||||
<UniqueIdentifier>{88363ba5-e50a-56bc-8835-5a28b97ae853}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end\fixtures">
|
||||
<UniqueIdentifier>{dbb42ae0-79d8-c1cd-4d2d-377cd4acb165}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
|
|
@ -1,205 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{03A65361-E139-5344-1868-8E8FC269C6E6}</ProjectGuid>
|
||||
<IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected>
|
||||
<IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration">
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration">
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration">
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration">
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\global.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\openssl.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\winsock.props" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\zlib.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<TargetName>h2_sockpair_1byte_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<TargetName>h2_sockpair_1byte_test</TargetName>
|
||||
<Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib>
|
||||
<Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib>
|
||||
<Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl>
|
||||
<Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat>
|
||||
<MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation>
|
||||
<GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair_1byte.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\test/end2end/tests\end2end_tests\end2end_tests.vcxproj">
|
||||
<Project>{1F1F9084-2A93-B80E-364F-5754894AFAB4}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\test/end2end\end2end_certs\end2end_certs.vcxproj">
|
||||
<Project>{80EA2691-C037-6DD3-D3AB-21510BF0E64B}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj">
|
||||
<Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj">
|
||||
<Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj">
|
||||
<Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj">
|
||||
<Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
<Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" />
|
||||
<Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\h2_sockpair_1byte.c">
|
||||
<Filter>test\core\end2end\fixtures</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Filter Include="test">
|
||||
<UniqueIdentifier>{7891f629-6021-0353-3080-a164f1541a60}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core">
|
||||
<UniqueIdentifier>{909720b4-6980-83ac-c78e-4cd7ca4bd1b0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end">
|
||||
<UniqueIdentifier>{2a71014a-0dc5-f7f6-d3d8-d0bf2a715d1a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="test\core\end2end\fixtures">
|
||||
<UniqueIdentifier>{5a2c9f6a-419d-f0cb-3613-19dc49c3d59a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
Loading…
Reference in New Issue