diff --git a/BUILD b/BUILD index 1969077e04831ee5ff17322144d375e1efe87cae..e9dd84754cee6f16dace24b00437e18ccb668c62 100644 --- a/BUILD +++ b/BUILD @@ -747,6 +747,7 @@ cc_library( "include/grpc++/create_channel.h", "include/grpc++/generic/async_generic_service.h", "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/grpc_library.h", @@ -838,6 +839,7 @@ cc_library( "include/grpc++/create_channel.h", "include/grpc++/generic/async_generic_service.h", "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/grpc_library.h", diff --git a/Makefile b/Makefile index a51004440dbbcf762333318bfe53c2ce413527b9..dc011ce6867c1be4366453f797c82a869d691229 100644 --- a/Makefile +++ b/Makefile @@ -4608,6 +4608,7 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/create_channel.h \ include/grpc++/generic/async_generic_service.h \ include/grpc++/generic/generic_stub.h \ + include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ include/grpc++/impl/grpc_library.h \ @@ -4853,6 +4854,7 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/create_channel.h \ include/grpc++/generic/async_generic_service.h \ include/grpc++/generic/generic_stub.h \ + include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ include/grpc++/impl/grpc_library.h \ diff --git a/build.yaml b/build.yaml index b48167a106aae7c6e285b2e376cc0b60e7c684fb..fd97705b25d4cd5a3784d75d0fb8963b88ada219 100644 --- a/build.yaml +++ b/build.yaml @@ -13,9 +13,9 @@ filegroups: - name: grpc++_base public_headers: [include/grpc++/channel.h, include/grpc++/client_context.h, include/grpc++/completion_queue.h, include/grpc++/create_channel.h, include/grpc++/generic/async_generic_service.h, - include/grpc++/generic/generic_stub.h, include/grpc++/impl/call.h, include/grpc++/impl/client_unary_call.h, - include/grpc++/impl/grpc_library.h, include/grpc++/impl/proto_utils.h, include/grpc++/impl/rpc_method.h, - include/grpc++/impl/rpc_service_method.h, include/grpc++/impl/serialization_traits.h, + include/grpc++/generic/generic_stub.h, include/grpc++/grpc++.h, include/grpc++/impl/call.h, + include/grpc++/impl/client_unary_call.h, include/grpc++/impl/grpc_library.h, include/grpc++/impl/proto_utils.h, + include/grpc++/impl/rpc_method.h, include/grpc++/impl/rpc_service_method.h, include/grpc++/impl/serialization_traits.h, include/grpc++/impl/service_type.h, include/grpc++/impl/sync.h, include/grpc++/impl/sync_cxx11.h, include/grpc++/impl/sync_no_cxx11.h, include/grpc++/impl/thd.h, include/grpc++/impl/thd_cxx11.h, include/grpc++/impl/thd_no_cxx11.h, include/grpc++/security/auth_context.h, include/grpc++/security/auth_metadata_processor.h, diff --git a/doc/PROTOCOL-HTTP2.md b/doc/PROTOCOL-HTTP2.md index d3fbb60d603fe62b75496c47d44e7abae2c38d20..02d4f28102b00e1f26c958fa67c47e9f07409f99 100644 --- a/doc/PROTOCOL-HTTP2.md +++ b/doc/PROTOCOL-HTTP2.md @@ -43,8 +43,9 @@ Request-Headers are delivered as HTTP2 headers in HEADERS + CONTINUATION frames. * **User-Agent** → “user-agent” {_structured user-agent string_} * **Message-Type** → “grpc-message-type” {_type name for message schema_} * **Custom-Metadata** → Binary-Header / ASCII-Header -* **Binary-Header** → {lowercase ASCII header name ending in “-bin” } {_base64 encoded value_} -* **ASCII-Header** → {lowercase ASCII header name} {_value_} +* **Binary-Header** → {Header-Name “-bin” } {_base64 encoded value_} +* **ASCII-Header** → Header-Name {_value_} +* **Header-Name** → 1*( %x30-39 / %x61-7A / “_” / “-”) ; 0-9 a-z HTTP2 requires that reserved headers, ones starting with “:” appear before all other headers. Additionally implementations should send **Timeout** immediately after the reserved headers and they should send the **Call-Definition** headers before sending **Custom-Metadata**. diff --git a/src/core/client_config/resolvers/zookeeper_resolver.c b/src/core/client_config/resolvers/zookeeper_resolver.c index e425913cd08e51712e0078e062e4b66a623c78e3..2594e6fae95283e7f4311d947987291fe27ad38b 100644 --- a/src/core/client_config/resolvers/zookeeper_resolver.c +++ b/src/core/client_config/resolvers/zookeeper_resolver.c @@ -182,6 +182,7 @@ static void zookeeper_on_resolved(void *arg, grpc_lb_policy *lb_policy; size_t i; if (addresses != NULL) { + grpc_lb_policy_args lb_policy_args; config = grpc_client_config_create(); subchannels = gpr_malloc(sizeof(grpc_subchannel *) * addresses->naddrs); for (i = 0; i < addresses->naddrs; i++) { @@ -191,8 +192,10 @@ static void zookeeper_on_resolved(void *arg, subchannels[i] = grpc_subchannel_factory_create_subchannel( r->subchannel_factory, &args); } + lb_policy_args.subchannels = subchannels; + lb_policy_args.num_subchannels = addresses->naddrs; lb_policy = - grpc_lb_policy_create(r->lb_policy_name, subchannels, addresses->naddrs); + grpc_lb_policy_create(r->lb_policy_name, &lb_policy_args); grpc_client_config_set_lb_policy(config, lb_policy); GRPC_LB_POLICY_UNREF(lb_policy, "construction"); grpc_resolved_addresses_destroy(addresses); diff --git a/src/core/iomgr/tcp_client_windows.c b/src/core/iomgr/tcp_client_windows.c index 05198dbff4e72ddf75cccf75bf49faf4a67cc3ef..a42ec7cf11a31b46dd855542a18b328d87c4a0ee 100644 --- a/src/core/iomgr/tcp_client_windows.c +++ b/src/core/iomgr/tcp_client_windows.c @@ -77,7 +77,6 @@ static void on_alarm(void *acp, int occured) { async_connect *ac = acp; gpr_mu_lock(&ac->mu); /* If the alarm didn't occur, it got cancelled. */ - gpr_log(GPR_DEBUG, "on_alarm: %p", ac->socket); if (ac->socket != NULL && occured) { grpc_winsocket_shutdown(ac->socket); } @@ -96,8 +95,6 @@ static void on_connect(void *acp, int from_iocp) { gpr_mu_lock(&ac->mu); - gpr_log(GPR_DEBUG, "on_connect: %p", ac->socket); - if (from_iocp) { DWORD transfered_bytes = 0; DWORD flags; diff --git a/src/core/support/log_posix.c b/src/core/support/log_posix.c index 021c4666d4190b5fc86df37ae979635f39d420e9..8b050dbee705c4f727b1c1f7ef9372c79b6c60f6 100644 --- a/src/core/support/log_posix.c +++ b/src/core/support/log_posix.c @@ -64,7 +64,7 @@ void gpr_log(const char *file, int line, gpr_log_severity severity, } else { message = allocated = gpr_malloc((size_t)ret + 1); va_start(args, format); - vsnprintf(message, ret + 1, format, args); + vsnprintf(message, (size_t)(ret + 1), format, args); va_end(args); } gpr_log_message(file, line, severity, message); diff --git a/src/csharp/ext/grpc_csharp_ext.c b/src/csharp/ext/grpc_csharp_ext.c index 70c0fbcc5030480f0e2dfe98bcbedcb5e22fd7fc..51e0728fb9dd17b7a7c6b88ecb7ed27a2836a620 100644 --- a/src/csharp/ext/grpc_csharp_ext.c +++ b/src/csharp/ext/grpc_csharp_ext.c @@ -252,7 +252,7 @@ GPR_EXPORT gpr_intptr GPR_CALLTYPE grpcsharp_batch_context_recv_message_length( if (!ctx->recv_message) { return -1; } - return grpc_byte_buffer_length(ctx->recv_message); + return (gpr_intptr)grpc_byte_buffer_length(ctx->recv_message); } /* diff --git a/templates/gRPC.podspec.template b/templates/gRPC.podspec.template index 060961f401d10289421946e93e3a3d098f0c8966..b1de0d7102f3ca90b72201866d29dff7bf903e44 100644 --- a/templates/gRPC.podspec.template +++ b/templates/gRPC.podspec.template @@ -63,17 +63,17 @@ %> Pod::Spec.new do |s| s.name = 'gRPC' - s.version = '0.7.0' + s.version = '0.11.0' s.summary = 'gRPC client library for iOS/OSX' s.homepage = 'http://www.grpc.io' s.license = 'New BSD' s.authors = { 'The gRPC contributors' => 'grpc-packages@google.com' } # s.source = { :git => 'https://github.com/grpc/grpc.git', - # :tag => 'release-0_10_0-objectivec-0.6.0' } + # :tag => 'release-0_11_0-objectivec-0.11.0' } - s.ios.deployment_target = '6.0' - s.osx.deployment_target = '10.8' + s.ios.deployment_target = '7.1' + s.osx.deployment_target = '10.9' s.requires_arc = true objc_dir = 'src/objective-c' @@ -152,6 +152,6 @@ ss.dependency 'gRPC/GRPCClient' ss.dependency 'gRPC/RxLibrary' - ss.dependency 'Protobuf', '~> 3.0.0-alpha-3' + ss.dependency 'Protobuf', '~> 3.0.0-alpha-4' end end diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c index ec3fb651051b9f14e18e926803da982f33456022..fec9667db866c7493dc68ffd31b516cd6147a8c6 100644 --- a/test/core/end2end/dualstack_socket_test.c +++ b/test/core/end2end/dualstack_socket_test.c @@ -267,7 +267,7 @@ void test_connect(const char *server_host, const char *client_host, int port, int external_dns_works(const char *host) { grpc_resolved_addresses *res = grpc_blocking_resolve_address(host, "80"); if (res != NULL) { - gpr_free(res); + grpc_resolved_addresses_destroy(res); return 1; } return 0; diff --git a/tools/dockerfile/grpc_java_base/Dockerfile b/tools/dockerfile/grpc_java_base/Dockerfile index 7bf79c8e415eb1384ea17d56024c71844fe188c8..9b80bbf9bc4be77028a31eb6b2e179a7cd29b737 100644 --- a/tools/dockerfile/grpc_java_base/Dockerfile +++ b/tools/dockerfile/grpc_java_base/Dockerfile @@ -40,6 +40,7 @@ RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true apt-get update && \ apt-get -y install \ git \ + libapr1 \ oracle-java8-installer \ && \ apt-get clean && rm -r /var/cache/oracle-jdk8-installer/ diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index a3523417743cda7d9f847c2030e25b42cf6b96b7..5d592c8e0aefdc4957deb9d59217bf34849630c2 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -766,6 +766,7 @@ include/grpc++/completion_queue.h \ include/grpc++/create_channel.h \ include/grpc++/generic/async_generic_service.h \ include/grpc++/generic/generic_stub.h \ +include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ include/grpc++/impl/grpc_library.h \ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index dfaeb43ca7a681e46dbb13dd6105621989f44f02..bbd1706fb059f6a03e6e6fdd1b5fc64a26a5433c 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -766,6 +766,7 @@ include/grpc++/completion_queue.h \ include/grpc++/create_channel.h \ include/grpc++/generic/async_generic_service.h \ include/grpc++/generic/generic_stub.h \ +include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ include/grpc++/impl/grpc_library.h \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index 798306b8458aed2dda7aed7f7cd9d15f337b89b4..68fd6a6e5abf626de8fb77578c45523bd0fba834 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -13168,6 +13168,7 @@ "include/grpc++/create_channel.h", "include/grpc++/generic/async_generic_service.h", "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/grpc_library.h", @@ -13220,6 +13221,7 @@ "include/grpc++/create_channel.h", "include/grpc++/generic/async_generic_service.h", "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/grpc_library.h", @@ -13350,6 +13352,7 @@ "include/grpc++/create_channel.h", "include/grpc++/generic/async_generic_service.h", "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/grpc_library.h", @@ -13399,6 +13402,7 @@ "include/grpc++/create_channel.h", "include/grpc++/generic/async_generic_service.h", "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", "include/grpc++/impl/grpc_library.h", diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj index 7e8ed4464dfa4036ff7e1676394388fb0f8c868a..acb62acefbdf93d5e6111118b92e85f73803f6b1 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj @@ -219,6 +219,7 @@ <ClInclude Include="..\..\..\include\grpc++\create_channel.h" /> <ClInclude Include="..\..\..\include\grpc++\generic\async_generic_service.h" /> <ClInclude Include="..\..\..\include\grpc++\generic\generic_stub.h" /> + <ClInclude Include="..\..\..\include\grpc++\grpc++.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\call.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\client_unary_call.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\grpc_library.h" /> diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters index 7ef391a86bd313505315dec1ba715ebfbea966e3..96effe296194f38ee56e4739b532f116a1f85a48 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters @@ -102,6 +102,9 @@ <ClInclude Include="..\..\..\include\grpc++\generic\generic_stub.h"> <Filter>include\grpc++\generic</Filter> </ClInclude> + <ClInclude Include="..\..\..\include\grpc++\grpc++.h"> + <Filter>include\grpc++</Filter> + </ClInclude> <ClInclude Include="..\..\..\include\grpc++\impl\call.h"> <Filter>include\grpc++\impl</Filter> </ClInclude> diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj b/vsprojects/vcxproj/grpc++/grpc++.vcxproj index 8b2d85de916a2e8c4382695624383f39e03ad184..3a7f559a2397cc0f4208fff054dde0f2e545bdd4 100644 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj +++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj @@ -219,6 +219,7 @@ <ClInclude Include="..\..\..\include\grpc++\create_channel.h" /> <ClInclude Include="..\..\..\include\grpc++\generic\async_generic_service.h" /> <ClInclude Include="..\..\..\include\grpc++\generic\generic_stub.h" /> + <ClInclude Include="..\..\..\include\grpc++\grpc++.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\call.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\client_unary_call.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\grpc_library.h" /> diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters index 74712feebaa483e1858a66800b98d9ad59487a0c..7d9cd4769dc6bc9b5db45a71ae208d822ae0beff 100644 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters @@ -117,6 +117,9 @@ <ClInclude Include="..\..\..\include\grpc++\generic\generic_stub.h"> <Filter>include\grpc++\generic</Filter> </ClInclude> + <ClInclude Include="..\..\..\include\grpc++\grpc++.h"> + <Filter>include\grpc++</Filter> + </ClInclude> <ClInclude Include="..\..\..\include\grpc++\impl\call.h"> <Filter>include\grpc++\impl</Filter> </ClInclude> diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj index 7e8ed4464dfa4036ff7e1676394388fb0f8c868a..acb62acefbdf93d5e6111118b92e85f73803f6b1 100644 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj @@ -219,6 +219,7 @@ <ClInclude Include="..\..\..\include\grpc++\create_channel.h" /> <ClInclude Include="..\..\..\include\grpc++\generic\async_generic_service.h" /> <ClInclude Include="..\..\..\include\grpc++\generic\generic_stub.h" /> + <ClInclude Include="..\..\..\include\grpc++\grpc++.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\call.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\client_unary_call.h" /> <ClInclude Include="..\..\..\include\grpc++\impl\grpc_library.h" /> diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters index 7ef391a86bd313505315dec1ba715ebfbea966e3..96effe296194f38ee56e4739b532f116a1f85a48 100644 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters @@ -102,6 +102,9 @@ <ClInclude Include="..\..\..\include\grpc++\generic\generic_stub.h"> <Filter>include\grpc++\generic</Filter> </ClInclude> + <ClInclude Include="..\..\..\include\grpc++\grpc++.h"> + <Filter>include\grpc++</Filter> + </ClInclude> <ClInclude Include="..\..\..\include\grpc++\impl\call.h"> <Filter>include\grpc++\impl</Filter> </ClInclude>