diff --git a/BUILD b/BUILD index 1969077e048..e9dd84754ce 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 a51004440db..dc011ce6867 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 b48167a106a..fd97705b25d 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 d3fbb60d603..02d4f28102b 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 e425913cd08..2594e6fae95 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 05198dbff4e..a42ec7cf11a 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 021c4666d41..8b050dbee70 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 70c0fbcc503..51e0728fb9d 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 060961f401d..b1de0d7102f 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 ec3fb651051..fec9667db86 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 7bf79c8e415..9b80bbf9bc4 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 a3523417743..5d592c8e0ae 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 dfaeb43ca7a..bbd1706fb05 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 798306b8458..68fd6a6e5ab 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 7e8ed4464df..acb62acefbd 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj @@ -219,6 +219,7 @@ + diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters index 7ef391a86bd..96effe29619 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters @@ -102,6 +102,9 @@ include\grpc++\generic + + include\grpc++ + include\grpc++\impl diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj b/vsprojects/vcxproj/grpc++/grpc++.vcxproj index 8b2d85de916..3a7f559a239 100644 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj +++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj @@ -219,6 +219,7 @@ + diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters index 74712feebaa..7d9cd4769dc 100644 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters @@ -117,6 +117,9 @@ include\grpc++\generic + + include\grpc++ + include\grpc++\impl diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj index 7e8ed4464df..acb62acefbd 100644 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj @@ -219,6 +219,7 @@ + diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters index 7ef391a86bd..96effe29619 100644 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters @@ -102,6 +102,9 @@ include\grpc++\generic + + include\grpc++ + include\grpc++\impl