Commit Graph

3440 Commits

Author SHA1 Message Date
Karthik Ravi Shankar 1bb2db83d8 Merge branch 'master' into grpc_namespace_channel_create_posix 2019-03-27 12:35:05 -07:00
Karthik Ravi Shankar 20f3e29d41 Merge branch 'master' into grpc_namespace_channel_create 2019-03-27 12:33:02 -07:00
Karthik Ravi Shankar 2ed030b3e8 Merge branch 'master' into grpc_namespace_channelz_service_plugin 2019-03-27 12:30:47 -07:00
Karthik Ravi Shankar 577ddfb1a1 Move ServerInitializer to grpc_impl namespace from grpc 2019-03-27 12:28:35 -07:00
Karthik Ravi Shankar a88e3f4c2e Move ServerBuilderOption from grpc to grpc_impl namespace 2019-03-27 12:20:43 -07:00
Vijay Pai abb991be25 Further clarify some APIs by removing their comments from internal:: 2019-03-27 09:46:08 -07:00
Vijay Pai 9169159f30 Comments for all callback API methods 2019-03-26 23:33:23 -07:00
Karthik Ravi Shankar 996da58667
Revert "Revert "Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder"" 2019-03-26 08:04:32 -07:00
Karthik Ravi Shankar e4bb7cb8bb
Revert "Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder" 2019-03-25 19:57:17 -07:00
Vijay Pai f4fdd829d7
Merge pull request #17892 from RohanTalip/HandlerParameter-doc
Renamed the param in the documentation for HandleParameter to match the actual parameter.
2019-03-25 16:46:17 -07:00
Karthik Ravi Shankar 88fc2a6a52
Merge pull request #18242 from grpc/grpc_namespace_serverbuilder
Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder
2019-03-25 15:59:01 -07:00
Karthik Ravi Shankar b2b1e57337 Fix errors from test scripts. 2019-03-25 15:55:06 -07:00
Karthik Ravi Shankar 850d02d67d Move channelz_service_plugin from grpc to grpc_impl namespace 2019-03-25 15:55:06 -07:00
Karthik Ravi Shankar 4b0175f2c8 Fix errors from clang_format_code.sh 2019-03-25 15:53:22 -07:00
Karthik Ravi Shankar 130962490b Make changes to fix test failures 2019-03-25 15:52:42 -07:00
Karthik Ravi Shankar 392554e341 Fixing clang_tidy_format.sh issues. 2019-03-25 15:52:42 -07:00
Karthik Ravi Shankar 49773cbe9a Fix namespace to grpc 2019-03-25 15:52:42 -07:00
Karthik Ravi Shankar d23753ca46 Move create_channel_posix from grpc to grpc_impl namespace 2019-03-25 15:52:42 -07:00
Karthik Ravi Shankar d204654836 Fix errors from clang_format_code.sh 2019-03-25 15:51:28 -07:00
Karthik Ravi Shankar 6e5587b165 Fix build issues. 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar 35e793d23a Fix more more tests. 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar 8dbaa13f52 Fix more grpc namespace issues 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar 92bde3922f Fix tests to use grpc namespace. 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar b25f6da3f0 Make changes to fix test failures 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar e27ddbc87e Move ::grpc::HealthCheckServiceInterface to ::grpc_impl namespace 2019-03-25 15:50:35 -07:00
Soheil Hassas Yeganeh a3366c1b7f
Merge pull request #18464 from soheilhy/slice-buffer
Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
2019-03-23 22:42:23 -04:00
Karthik Ravi Shankar ecfc107f32 Make more changes to remove grpc qualifier from tests 2019-03-21 18:40:00 -07:00
Nicolas Noble 0045a22101
Merge pull request #18443 from guzt/fuchsia_gn
Add Fuchsia support.
2019-03-21 13:00:27 -07:00
Soheil Hassas Yeganeh ad1b3e5094 Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
grpc_byte_buffer_reader_next() copies and references the slice. This
is not always necessary since the caller will not use the slice
after destroying the byte buffer.

A prominent example is the protobuf parser, which
calls grpc_byte_buffer_reader_next() and immediately unrefs the slice
after the call. This ref() and unref() calls can be very expensive
in the hot path.

This commit introduces grpc_byte_buffer_reader_peek() which
essentialy return a pointer to the slice in the buffer, i.e.,
no copies, and no refs.

QPS of 1MiB 1 Channel callback benchmark increases by 5%.
More importantly insructions per cycle is increased by 10%.

Also add tests and benchmarks for byte_buffer_reader_peek()

This commit reaplies 509e77a5a3
2019-03-21 06:03:45 -04:00
Vijay Pai 50576179f8
Merge pull request #17978 from yashykt/interceptorcleanup1
Global Interceptor Registration allowed only once
2019-03-20 19:13:55 -07:00
Karthik Ravi Shankar 04af168cf8 Move Server into grpc_impl from grpc 2019-03-20 13:05:36 -07:00
Karthik Ravi Shankar 338b4cb5c9 Fold ErrorDetails into grpc_impl from grpc 2019-03-20 11:17:46 -07:00
Karthik Ravi Shankar 6da0ca4421 Bring ChannelArguments to grpc_impl from grpc 2019-03-20 10:38:03 -07:00
Arjun ca69f911a7 Add initial Fuchsia support.
1. Add a BUILD.gn file
2. Support fuchsia as a platform

This is heavily based on the changes in https://fuchsia.googlesource.com/third_party/grpc/
2019-03-20 10:26:49 -07:00
Karthik Ravi Shankar 54171e276f Fold server credentials from grpc to grpc_impl namespace 2019-03-20 10:00:34 -07:00
Karthik Ravi Shankar d684ddc7e3 Fold AuthMetadataProcessor into grpc_impl from grpc 2019-03-19 12:49:42 -07:00
Karthik Ravi Shankar 526bf39f89 Fold GenericStub from grpc_impl to grpc 2019-03-19 12:34:30 -07:00
Karthik Ravi Shankar f58aed2d06 Make changes to server_posix to expose method outside 2019-03-19 10:50:53 -07:00
Karthik Ravi Shankar 1d357572cf Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota"
This reverts commit d8d8bec7c8.
2019-03-19 10:43:02 -07:00
Karthik Ravi Shankar 8dcd98ef8c Fix server unit test errors. 2019-03-19 10:19:39 -07:00
Vijay Pai 7b3a120295 Address reviewer comments 2019-03-18 16:51:15 -07:00
Vijay Pai 93f0a3f653 Address reviewer comments 2019-03-18 15:37:35 -07:00
Karthik Ravi Shankar e9593285a8 Move LoadReportingServiceServerBuilderOption from grpc to grpc_impl 2019-03-18 13:20:42 -07:00
Vijay Pai 04a6b8467c Support callback on cancellation of server-side unary RPCs 2019-03-18 12:00:57 -07:00
Karthik Ravi Shankar 6c9951680e Fix clang_format_code.sh errors. 2019-03-18 10:40:27 -07:00
Karthik Ravi Shankar 322e720fe6 Merge branch 'master' into grpc_namespace_serverbuilder 2019-03-18 10:39:38 -07:00
Karthik Ravi Shankar 1061604a01 Fix clang_format_code.sh errors 2019-03-18 10:06:10 -07:00
Karthik Ravi Shankar c08e5bee40 Fix make errors 2019-03-17 22:15:21 -07:00
Vijay Pai 8c3d4a7dfd
Merge pull request #18072 from vjpai/client_streaming_hold
C++ callback API: Add support for client-side extra-reaction operations via Holds
2019-03-16 10:27:36 -07:00
Vijay Pai 797b01a85e
Merge pull request #17760 from Norman0406/fix-interceptor_memory_leak
Fixing memory leak in interceptor by removing unsued send_status_
2019-03-16 10:14:19 -07:00
Vijay Pai 48ce4ca939 Add support for extra-reaction operations via Holds 2019-03-15 16:17:01 -07:00
Karthik Ravi Shankar 2772f519e6 Fix errors from presubmit scripts. 2019-03-15 14:28:32 -07:00
Karthik Ravi Shankar 4a0c3b848f Fix broken tests 2019-03-15 13:16:46 -07:00
Karthik Ravi Shankar 29bcbb24c2 Moving create_channel from grpc to grpc_impl 2019-03-15 13:02:41 -07:00
Karthik Ravi Shankar f570c5ce7e Make changes for making opencensus API visible from gRPC namespace 2019-03-15 11:43:28 -07:00
Karthik Ravi Shankar f66b654795
Revert "Revert "Fold opencensus into grpc_impl namespace"" 2019-03-15 11:30:23 -07:00
Karthik Ravi Shankar 3b4835d92d
Merge pull request #18392 from grpc/revert-18223-grpc_namespace_opencensus
Revert "Fold opencensus into grpc_impl namespace"
2019-03-15 11:27:35 -07:00
Karthik Ravi Shankar 2bf934f97d
Revert "Fold opencensus into grpc_impl namespace" 2019-03-15 10:20:06 -07:00
Yihua Zhang b017c801b6 Add SPIFFE security stack to gRPC core 2019-03-14 15:24:48 -07:00
Karthik Ravi Shankar 90edf47fe9 Move server_posix from grpc to grpc_impl namespace 2019-03-14 14:26:25 -07:00
Karthik Ravi Shankar d8d8bec7c8 Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
This change moves ResourceQuota class fron grpc namespace to grpc_impl
namespace.

Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2019-03-14 12:24:25 -07:00
Norman Link 3d28761029 Fixing memory leak in interceptor by removing unsued send_status_ 2019-03-13 21:42:02 +01:00
Vijay Pai 85f8e0f4b0
Merge pull request #18289 from vjpai/unimplemented_rpc
C++ callback API: properly handle and test unimplemented RPC method
2019-03-13 12:47:36 -07:00
Karthik Ravi Shankar 82c6e012d8
Revert "Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota"" 2019-03-12 14:01:05 -07:00
Muxi Yan 33ebf719a5 use cached grpc ssl credential 2019-03-12 13:11:10 -07:00
Karthik Ravi Shankar b3889585a1
Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota" 2019-03-12 12:25:38 -07:00
Karthik Ravi Shankar cc632f8121
Merge pull request #18220 from grpc/grpc_namespace
Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
2019-03-12 11:20:27 -07:00
Karthik Ravi Shankar 276c4dc593
Merge pull request #18223 from grpc/grpc_namespace_opencensus
Fold opencensus into grpc_impl namespace
2019-03-08 15:45:03 -08:00
Vijay Pai b7f14fdab8 Properly implement unimplemented RPCs at callback-only server 2019-03-06 23:43:34 -08:00
Vijay Pai 96f8b7a532
Merge pull request #18239 from vjpai/callback_async_generic_service
C++: Support callback-based generic service
2019-03-06 19:35:26 -08:00
Karthik Ravi Shankar f7dd48b2b6 Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
This change moves ResourceQuota class fron grpc namespace to grpc_impl
namespace.
2019-03-06 10:12:23 -08:00
Juanli Shen e889fda482 Use real resolver in xds lb channel 2019-03-05 13:29:55 -08:00
Soheil Hassas Yeganeh c060d55cc7
Revert "Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing." 2019-03-05 14:01:01 -05:00
Karthik Ravi Shankar 3b7a47cde6 Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder
This change moves ServerBuilder class from grpc namespace to grpc_impl
namespace.
2019-03-04 17:01:14 -08:00
Karthik Ravi Shankar b606cad6cc Fold opencensus into grpc_impl namespace
Moving opencensus into grpc_impl namespace..
2019-03-04 15:47:37 -08:00
Vijay Pai 05d8ddfc6e Support callback-based generic service 2019-03-04 13:13:12 -08:00
Soheil Hassas Yeganeh 509e77a5a3 Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
grpc_byte_buffer_reader_next() copies and references the slice. This
is not always necessary since the caller will not use the slice
after destroying the byte buffer.

A prominent example is the protobuf parser, which
calls grpc_byte_buffer_reader_next() and immediately unrefs the slice
after the call. This ref() and unref() calls can be very expensive
in the hot path.

This commit introduces grpc_byte_buffer_reader_peek() which
essentialy return a pointer to the slice in the buffer, i.e.,
no copies, and no refs.

QPS of 1MiB 1 Channel callback benchmark increases by 5%.
More importantly insructions per cycle is increased by 10%.

Also add tests and benchmarks for byte_buffer_reader_peek()
2019-03-04 14:17:46 -05:00
Lidi Zheng a846006192
Merge pull request #18224 from lidizheng/grpc-h-cancel
Correct grpc_call_cancel and grpc_call_cancel_with_status comments
2019-03-04 10:34:14 -08:00
Lidi Zheng e1f5ce30ea Correct grpc_call_cancel and grpc_call_cancel_with_status comments 2019-03-01 16:40:00 -08:00
Yang Gao 40241c5236
Merge pull request #18157 from yang-g/rollbackrollback
Roll-forward PR17308
2019-02-27 17:04:19 -08:00
Nicolas Noble 91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace."" 2019-02-27 16:53:23 -08:00
Vijay Pai 2eb25c871e Avoid build errors 2019-02-26 03:08:06 -08:00
yang-g 456f748b2f Revert "Merge pull request #18146 from grpc/revert-17308-shutdown"
This reverts commit 9079e98dfc, reversing
changes made to 76a38bfcc2.
2019-02-25 10:11:06 -08:00
Vijay Pai 857e622e6f
Merge pull request #18098 from vjpai/try_2
Reduce starting callback counter to exclude client-side StartCall
2019-02-22 19:52:29 -08:00
Yang Gao 4bc2ca4de6
Revert "Move grpc_shutdown internals to a detached thread" 2019-02-22 16:34:24 -08:00
Vijay Pai 147c61b2a4 Exclude StartCall from starting callback counter value 2019-02-20 21:13:44 -08:00
Yuwei Huang 3cbf4f50ea Remove extra semicolons after function definitions
We are planning to enable -Wextra-semi flag in our project but some
header files in gRPC have extra semicolons that violates the check and
blocks us from enabling the flag.

This change removes unnecessary semicolons in the code. Note that having
semicolon after the GRPC_ABSTRACT macro technically also violates the
check, but it's fine for us since they are not used in public headers,
and it will be confusing to have lines ending only with GRPC_ABSTRACT,
so I keep them as-is.
2019-02-20 17:58:30 -08:00
yang-g 0df63d3c98 Merge branch 'master' into shutdown 2019-02-15 21:51:03 -08:00
Soheil Hassas Yeganeh db38d4ca9b
Merge pull request #17939 from vertextao/gpr_mu_cv-leak-test
Add ASAN-only leak detection for gpr_mu/cv and fix the newly caught leaks
2019-02-15 21:43:32 -05:00
yang-g 86b23adc7f Other comments 2019-02-15 16:26:31 -08:00
Nicolas Noble 2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace." 2019-02-15 09:52:15 -08:00
xtao 7cbb42bb9e
define GPR_ATTRIBUTE_NO_TSAN by using GPR_HAS_FEATURE. 2019-02-16 00:00:50 +08:00
xtao c03496fdac
1) remove unnecessary initialization;
2) correct comment grammar issue;
3) fix the newly caught leaks;
2019-02-16 00:00:50 +08:00
xtao fb3b85a81a
1) Add MACRO GPR_HAS_FEATURE; 2) Add test code within GRPC_ASAN_ENABLED for gpr_mu/cv mem-leak detection. 2019-02-16 00:00:49 +08:00
yang-g 545c555d31 Rename new public API 2019-02-14 14:22:40 -08:00
Nicolas "Pixel" Noble 035442b086 Fixing header guard. 2019-02-14 21:40:31 +01:00
Nicolas "Pixel" Noble 5847c3a87a Reformat. 2019-02-14 20:05:59 +01:00
Nicolas "Pixel" Noble 12b0db3e57 Folding CompletionQueue and ServerCompletionQueue. 2019-02-14 20:01:14 +01:00
apolcyn 223eb9960e
Merge pull request #18046 from apolcyn/disable_ares_android
Disable c-ares on Android
2019-02-13 16:59:08 -08:00
Alexander Polcyn 3ebbce2f59 Disable c-ares on Android 2019-02-13 13:30:03 -08:00
Yash Tibrewal 73353ad281 Merge branch 'master' into interceptorcleanup1 2019-02-13 12:47:47 -08:00
Yash Tibrewal 50497c2317 Reviewer comments 2019-02-13 12:46:07 -08:00
yang-g 684643ff0a Test fixing php 2019-02-13 11:02:48 -08:00
Nicolas "Pixel" Noble 3e30c38f1c Adressing comments. 2019-02-13 00:20:50 +01:00
Nicolas "Pixel" Noble 63db582516 Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 00:19:23 +01:00
yang-g bc946d6c6d merge with head and resolve conflicts 2019-02-12 15:00:32 -08:00
Yash Tibrewal c71b2f4fb7 Global Interceptor Registration allowed only once 2019-02-07 19:36:51 -08:00
Yash Tibrewal 89ee1a8b10 Improved interception docs 2019-02-07 19:18:40 -08:00
Vijay Pai cfc52beebc
Merge pull request #17933 from vjpai/resettable_alarm
Allow a grpc::Alarm to be set again after firing
2019-02-06 09:53:48 -08:00
Vijay Pai 45c684f894 Allow an alarm to be set again after firing 2019-02-05 14:07:40 -08:00
apolcyn 879d3cb623
Merge pull request #17894 from apolcyn/disable_ares_ios
Disable c-ares on iOS
2019-02-04 17:40:11 -08:00
Vijay Pai 977df7208a
Merge pull request #17909 from vjpai/delist
Replace list of outstanding callback requests with count
2019-02-01 23:31:03 -08:00
Alexander Polcyn fd185cd1ea Disable c-ares on iOS 2019-02-01 15:21:25 -08:00
Vijay Pai 8521c0394b Address optional reviewer comments 2019-02-01 15:21:13 -08:00
Soheil Hassas Yeganeh bdd02e5852
Merge pull request #17439 from soheilhy/worktree-slice-align
Reorder fields in slice to share the same bytes for length fields.
2019-02-01 15:57:45 -07:00
Vijay Pai e56c832c0d Replace list of outstanding callback requests with count only 2019-02-01 13:44:50 -08:00
Rohan Talip d68c0d29d9 Renamed the param in the documentation for HandleParameter to match the actual parameter.
This should prevent warnings like the following:

=== BUILD TARGET FirebaseFirestore OF PROJECT Pods WITH CONFIGURATION Debug ===
In file included from $PROJECT_DIR/platforms/ios/Pods/FirebaseFirestore/Firestore/core/src/firebase/firestore/remote/stream.mm:17:
In file included from $PROJECT_DIR/platforms/ios/Pods/FirebaseFirestore/Firestore/core/src/firebase/firestore/remote/stream.h:27:
In file included from $PROJECT_DIR/platforms/ios/Pods/FirebaseFirestore/Firestore/core/src/firebase/firestore/remote/grpc_connection.h:28:
In file included from $PROJECT_DIR/platforms/ios/Pods/FirebaseFirestore/Firestore/core/src/firebase/firestore/remote/grpc_stream.h:35:
In file included from $PROJECT_DIR/platforms/ios/build/emulator/grpcpp.framework/Headers/generic/generic_stub.h:24:
In file included from $PROJECT_DIR/platforms/ios/build/emulator/grpcpp.framework/Headers/support/async_stream.h:22:
In file included from $PROJECT_DIR/platforms/ios/build/emulator/grpcpp.framework/Headers/impl/codegen/async_stream.h:26:
In file included from $PROJECT_DIR/platforms/ios/build/emulator/grpcpp.framework/Headers/impl/codegen/service_type.h:24:
$PROJECT_DIR/platforms/ios/build/emulator/grpcpp.framework/Headers/impl/codegen/rpc_service_method.h:49:16: warning: parameter 'rpc_requester' not found in the function declaration
      [-Wdocumentation]
    /// \param rpc_requester : used only by the callback API. It is a function
               ^~~~~~~~~~~~~
$PROJECT_DIR/platforms/ios/build/emulator/grpcpp.framework/Headers/impl/codegen/rpc_service_method.h:49:16: note: did you mean 'requester'?
    /// \param rpc_requester : used only by the callback API. It is a function
               ^~~~~~~~~~~~~
               requester
1 warning generated.
2019-02-01 12:56:56 -08:00
Soheil Hassas Yeganeh ef20840174 Reorder fields in slice to share the same bytes for length fields.
Ref-counted and inlined slices both have a lenght value, but
they are not in the same byte offset. As a result, we will
have two different loads based on a branch.

Instead move them to the same byteoffset, so that we will have
one move and the same number of branches.

Difference can be seen on:
https://godbolt.org/z/kqFZcP
2019-02-01 11:24:11 -05:00
Soheil Hassas Yeganeh 5a382a3b59 Introduce weak and nonline attribute.
This will be used to mark symbols such as nallocx as weak and replace
with better implementation when available.
2019-01-31 11:38:54 -05:00
Yihua Zhang a3d997cbdc Add a TLS credential surface API (experimental) 2019-01-29 10:04:28 -08:00
Yash Tibrewal 5e2e61b6e5 Note on conditions of usage 2019-01-28 16:37:02 -08:00
Yash Tibrewal 3a2cfe50ec Rever copyright changes 2019-01-28 16:18:49 -08:00
Yash Tibrewal 786598a6ff Merge branch 'master' into interceptorcqavalanching 2019-01-28 11:54:39 -08:00
Yash Tibrewal 9b7b1f4447
Merge pull request #17662 from yashykt/sendmsgintdoc
Update Send message interception methods docs
2019-01-28 11:53:36 -08:00
Vijay Pai 7a164229db Address reviewer comments 2019-01-25 10:25:08 -08:00
Yash Tibrewal 9dd8a13439 Restructure code to handle cases exposed by the callback api 2019-01-24 19:03:55 -08:00
Nicolas "Pixel" Noble cabbd35014 Reformat. 2019-01-24 23:42:12 +01:00
Yash Tibrewal 4dcb14ec9e Fix codegen_test_minimal 2019-01-24 13:05:05 -08:00
Yash Tibrewal d347ec7ce0 Register for cq avalanching when interceptors are going to be run 2019-01-23 19:11:51 -08:00
Nicolas "Pixel" Noble dffbe4a1eb Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-01-23 21:40:25 +01:00
Nicolas "Pixel" Noble 2fd079ff7c Channel folding. 2019-01-23 21:40:07 +01:00
Vijay Pai fab05d336c Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks 2019-01-23 11:21:50 -08:00
Alexander Polcyn 2b328ee0ca Re-enable c-ares as the default resolver; but keep SRV queries off by default 2019-01-18 17:18:33 -08:00
yang-g ef32669915 Merge remote-tracking branch 'upstream/master' into shutdown 2019-01-18 16:01:14 -08:00
Juanli Shen bbe2587c39 Enable per-channel subchannel pool 2019-01-15 14:15:18 -08:00
yang-g df9bd2f506 Merge remote-tracking branch 'upstream/master' into shutdown 2019-01-14 13:19:01 -08:00
Muxi Yan 0ed65db5d2
Merge branch 'master' into default-cfstream-2 2019-01-11 16:31:34 -08:00
Mehrdad Afshari b12dd1be05 Fix GrpcCodegen initialization
Initializing GrpcCodegen as a global static variable
is problematic because it is possible for it to get
destructed before the last instance of `GrpcLibraryCodegen`
gets destructed and leaves the program dealing with
a dangling pointer (imagine a scenario where another
thread is using gRPC resources and the main thread
tries to join it in an object's destructor after
main ends and CoreCodegen is destructed.)

In fact, Google style guide explicitly forbids
non-trivially-destructible global variables of static
storage duration for this and other reasons and the
solution in this commit is among the recommended
workarounds referenced in
https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables
2019-01-10 22:12:03 -08:00
apolcyn 26dddbb10d
Merge pull request #16187 from apolcyn/ipv6_resolver_scope_ids
Support named scope id's in grpc_parse_ipv6 on posix platforms
2019-01-08 14:36:20 -08:00
Yash Tibrewal 73b1a918e4 Slight update to grammar. Can probably be improved more 2019-01-08 09:28:09 -08:00
Yash Tibrewal b8a542cd23 Update Send message interception methods docs 2019-01-08 09:20:15 -08:00
Jan Tattermusch 8efa3347fe
Merge pull request #17656 from chwarr/comment-typos
Fix typos in comments
2019-01-08 17:28:13 +01:00
Vijay Pai 1730c06c48
Merge pull request #17655 from yashykt/callbackwriteoptions
Use the WriteOptions in Client Callback API
2019-01-08 08:15:43 -08:00
Christopher Warrington 832e5f06c3 Fix typos in comments 2019-01-07 17:36:14 -08:00
Yash Tibrewal 361acdbed1 Use the WriteOptions in Client Callback API 2019-01-07 17:33:16 -08:00
Yash Tibrewal b35b449166 Update docs according to #17630 2019-01-07 17:20:58 -08:00
Yash Tibrewal 8dcda4dc36
Merge pull request #17630 from yashykt/nocopyinterception
Modifying semantics for GetSendMessage and GetSerializedSendMessage. Also adding ModifySendMessage
2019-01-07 16:32:24 -08:00
Yash Tibrewal 34d77aae5e Always nullify serializer to free memory 2019-01-07 14:12:03 -08:00
Yash Tibrewal bcd29821ec
Merge pull request #17279 from yashykt/linuxversionmanylinux
Include linux/version.h for manylinux
2019-01-07 12:12:03 -08:00
Yash Tibrewal dd067fd390 Merge branch 'master' into nocopyinterception 2019-01-07 10:09:06 -08:00
Muxi Yan 36b47ce0de
Merge pull request #16190 from muxi/config-isolation
Implement L38: gRPC Objective-C API Upgrade
2019-01-07 09:50:21 -08:00
Yash Tibrewal 7d1491d64c Address reviewer comments 2019-01-07 09:23:35 -08:00
Yash Tibrewal 059459a9ee Merge branch 'master' into failhijackedrecv 2019-01-04 17:28:25 -08:00
Yash Tibrewal b05ca9697b Merge branch 'master' into failhijackedrecv 2019-01-04 11:30:03 -08:00
Yash Tibrewal 9b9ef64027 Add more information on the usage of FailHijackedRecvMessage 2019-01-04 11:29:57 -08:00
Yash Tibrewal 2b4781ca52 Use Status() instead of Status::OK to avoid issues with codegen_test_minimal 2019-01-03 18:32:10 -08:00
Yash Tibrewal 7eeda22d9e s/two/three 2019-01-03 18:23:15 -08:00
Yash Tibrewal df49204b97 Remove unused variable 2019-01-03 18:10:21 -08:00
Yash Tibrewal 4224384d39 Modifying semantics for GetSendMessage and GetSerializedSendMessage.
Also adding ModifySendMessage
2019-01-03 18:01:58 -08:00
Yash Tibrewal bac79bdabe Merge branch 'master' into failhijackedsend 2019-01-03 15:51:43 -08:00
Alexander Polcyn cab4774d95 Add a way to avoid if_nametoindex function for non-posix linux platforms that don't support it 2019-01-03 13:19:41 -08:00
Yash Tibrewal 50c60f03ba Rename GetSendMessage to GetSerializedSendMessage and GetOriginalSendMessage to GetSendMessage 2019-01-03 12:21:19 -08:00
Yash Tibrewal c6261f4b91 Rename new SendMessage types to SendMessagePtr 2019-01-02 14:46:52 -08:00
Yash Tibrewal 4aeba42528 Provide GetOriginalSendMessage for some APIs 2018-12-28 17:27:38 -08:00
Muxi Yan 80f005ee8f Remove debug info; clang-format 2018-12-27 13:46:52 -08:00
Muxi Yan e2f3741c74 Changed podspec templates and Podfile for test 2018-12-27 11:31:10 -08:00
Yash Tibrewal 24e37e249a Merge branch 'master' into failhijackedrecv 2018-12-26 15:10:41 -08:00
Yash Tibrewal 5a6183f1bd Merge branch 'master' into failhijackedsend 2018-12-26 13:33:06 -08:00
yang-g 3c8d24ba2c merge with head and resolve conflict 2018-12-19 10:13:41 -08:00
Vijay Pai 8cd1c0e379
Merge pull request #17552 from vjpai/interceptor_comments
Document purpose and validity of interception API
2018-12-18 22:43:49 -08:00
Vijay Pai cfe08f35f3 Add comments explaining purpose and validity of interception API 2018-12-18 14:53:56 -08:00
Yash Tibrewal 3c3876a5da
Merge pull request #17544 from yashykt/factorydocs
Allow interceptor creators to return nullptr
2018-12-18 14:48:43 -08:00
hcaseyal e51a28636f
Merge pull request #17512 from hcaseyal/update_md_doc
Improve metadata documentation for the user
2018-12-18 14:14:57 -08:00
Yash Tibrewal 31a775b425 Add missing argument 2018-12-18 12:52:14 -08:00
Yash Tibrewal d590583456 Allow interceptor creators to return nullptr 2018-12-18 12:10:20 -08:00
Hope Casey-Allen 233123ae3f Improve metadata documentation for the user 2018-12-18 11:50:17 -08:00
Yash Tibrewal bb303513dc Merge master 2018-12-18 11:40:52 -08:00
Juanli Shen eb9064db2f Clarify compression algorithm enum order 2018-12-18 10:35:07 -08:00
Vijay Pai c52ae0d000 Give the interceptors header files in include/grpcpp/support 2018-12-17 15:17:01 -08:00
yihuaz 3f7e26e085
Merge pull request #17370 from yihuazhang/local_tcp_loopback
Extend local channel/server credentials to support TCP loopback
2018-12-17 11:21:42 -08:00
Vijay Pai f2324e1c05 Reset the SendMessage pointer before post-interception 2018-12-16 16:01:14 -08:00
Yihua Zhang 0531d3d3ad extend local credentials to support tcp loopback 2018-12-16 14:50:26 -08:00
Vijay Pai a8688d3bd3
Merge pull request #17510 from vjpai/bb_api
Add API comments indicating that byte buffer copy is size-independent
2018-12-14 15:18:01 -08:00
Vijay Pai b0b4c0d9c3 Add API comments indicating that byte buffer copy is size-independent 2018-12-14 13:52:25 -08:00
Vijay Pai 23817e1738
Merge pull request #17434 from vjpai/delete
Delete unwanted constructor/assignment
2018-12-14 13:12:00 -08:00
Nicolas Noble 5748af6e18
Merge pull request #17468 from nicolasnoble/grpc_namespace
Moving ::grpc::Alarm to ::grpc_impl::Alarm.
2018-12-13 15:22:05 -08:00
Muxi Yan a5fd84e65a Merge remote-tracking branch 'upstream/master' into config-isolation 2018-12-12 15:38:04 -08:00
Nicolas "Pixel" Noble d550af373c Moving ::grpc::Alarm to ::grpc_impl::Alarm. 2018-12-12 16:48:32 +01:00
ncteisen 7b1fc0faa2 Add max_results to ServerSockets 2018-12-11 08:24:40 -08:00
Muxi Yan 0371732170
Merge branch 'master' into config-isolation 2018-12-10 10:15:45 -08:00
Yang Gao b590167cf2
Merge pull request #17435 from yang-g/health_service_shutdown
Add a Shutdown call to HealthCheckServiceInterface
2018-12-07 13:15:30 -08:00
Vijay Pai e7be6223d8 Delete unwanted constructor/assignment 2018-12-06 17:10:03 -08:00
yang-g f1f557bc43 Add a Shutdown call to HealthCheckServiceInterface 2018-12-06 16:16:58 -08:00
Vijay Pai 97de30d7b3 Allow the interceptor to know the method type 2018-12-06 15:51:31 -08:00
Vijay Pai 59c4046e9a
Merge pull request #17416 from vjpai/ondone
Fix client-side callback API race, allow reuse of application reactor structure
2018-12-06 10:39:17 -08:00
Vijay Pai 13a4977c23 Treat StartCall like a reserved callback since it is required 2018-12-06 09:02:03 -08:00
Soheil Hassas Yeganeh d7ce25302a
Merge pull request #17368 from soheilhy/worktree-tsan-auto-annot
TSAN annotations for grpc_call_combiner
2018-12-05 19:06:20 -05:00
Vijay Pai eb0b39df3d Do OnDone as the actual last thing so that the reactor can be reused. 2018-12-05 16:04:26 -08:00
yang-g 991963efcc Merge branch 'master' into shutdown 2018-12-05 14:53:06 -08:00
Soheil Hassas Yeganeh 2f55f4f85a Add TSAN annotations to gRPC. 2018-12-04 15:34:30 -05:00
Vijay Pai 606177bbc8 Document that ClientContext must remain alive for duration of RPC 2018-12-03 20:00:08 -08:00
Vijay Pai 6bca0313d8
Merge pull request #17144 from vjpai/server_streaming
C++ callback API for streaming servers
2018-12-03 09:52:28 -08:00
apolcyn 5fed8e5452
Merge pull request #17354 from apolcyn/fix_ares_deadlocks
Cancel c-ares queries after a timeout to avoid getting stuck
2018-11-30 16:58:16 -08:00
Vijay Pai 2a0c0d7ad6 Streaming API for callback servers 2018-11-30 16:14:21 -08:00
Alexander Polcyn b203ed3c07 Cancel still-active c-ares queries after 10 seconds to avoid chance of deadlock 2018-11-30 15:06:11 -08:00
Vijay Pai 2b5d45ab38 Fix clang-tidy and golden file issues 2018-11-30 04:13:41 -08:00
Vijay Pai 28dd7981d6 clang-format 2018-11-30 04:13:40 -08:00
Vijay Pai ea1156da3f Stop exposing streaming object class 2018-11-30 04:13:40 -08:00
Vijay Pai dac2066a1c Make StartCall() a releasing operation so that you can pile up ops 2018-11-30 04:13:40 -08:00
Vijay Pai fa45ffd418 Address reviewer comments 2018-11-30 04:13:40 -08:00
Vijay Pai d7eb26648d Client callback streaming 2018-11-30 04:13:40 -08:00
Noah Eisen b9a98dd2ab
Fix comment 2018-11-29 12:17:09 -08:00
yang-g 483e0ad3f2 Merge with master and resolve conflict 2018-11-29 10:39:35 -08:00
Soheil Hassas Yeganeh 9128881b6d Add GPR_ATM_INC_ADD_THEN to grpc_core::RefCount
This is to fix the wrong atomic op counts reported by benchmarks.

Also add these macros to windows and gcc-sync headers as noop macros for
consistency.
2018-11-28 15:06:57 -05:00
yang-g cdd698810b Move grpc_shutdown internals to a detached thread 2018-11-27 14:26:08 -08:00
Yash Tibrewal 726f044932 Include linux/version.h for manylinux 2018-11-21 14:24:22 -08:00
Yash Tibrewal 8fb11e6d5e Apply the conversion on the status irrespective of whether Pluck returned true 2018-11-21 14:11:59 -08:00
Yash Tibrewal 544f2a5abb Necessary change after #17219 2018-11-21 14:00:16 -08:00
Yash Tibrewal b32d8f5d4d
Merge pull request #17219 from yashykt/cleanup
Make Pluck use the changes made in FinalizeResult
2018-11-20 15:23:27 -08:00
Yash Tibrewal 626f1c9d53 Remove the std::unique_ptr, instead use move semantics everywhere 2018-11-15 16:49:43 -08:00
Yash Tibrewal 00c9c40004 Remove extraneous logging statements 2018-11-15 16:01:14 -08:00
Yash Tibrewal d4ebd30eb2 Add method to get status of send message op on POST_SEND_MESSAGE 2018-11-15 15:57:43 -08:00
Yash Tibrewal 0911e489e3 Add a method to check whether the message was received successfully 2018-11-15 13:55:56 -08:00
Yash Tibrewal a9bee9b7ed Make Pluck use the changes made in FinalizeResult 2018-11-14 17:48:35 -08:00
Yash Tibrewal 5d7d6c0fbd Add method to fail hijacked send messages 2018-11-14 17:35:26 -08:00
Vijay Pai 0e29d7b9bc Properly clear metadata and other structs when reusing ServerContext 2018-11-13 12:44:56 -08:00
Yash Tibrewal 565edf5297 Add safety checks 2018-11-09 19:51:11 -08:00
Yash Tibrewal 699c10386d Add method to fail recv msg for hijacked rpcs 2018-11-09 19:43:00 -08:00
Yash Tibrewal a803f96e5a Add comment on cancellation being forever alone in the batch 2018-11-06 15:32:05 -08:00
Yash Tibrewal 193b4b57ec
Merge pull request #17072 from yashykt/interceptor_cancellation
Interceptors should see a Cancellation notification
2018-11-06 14:56:24 -08:00
Vijay Pai 1e850944e9 Release the CallbackWithSuccessTag from a server context completionop 2018-11-06 11:49:17 -08:00
Vijay Pai 526d2e6004 Refactoring of CallbackWithSuccessTag 2018-11-06 11:20:50 -08:00
Yash Tibrewal f055c1cfd2 Remove unnecessary header 2018-11-05 14:35:55 -08:00
Yash Tibrewal f240af0cb8 Add GPR_CODEGEN_DEBUG_ASSERT 2018-11-05 13:56:06 -08:00
Yash Tibrewal 6faa17c6ca s/new/post-1.0 2018-11-02 11:46:10 -07:00
Yash Tibrewal 3ac7f2d24c
Merge pull request #17053 from yashykt/global_interceptor
Add global client interceptor factory
2018-11-02 08:56:16 -07:00
Yash Tibrewal ded9434e4c Add array header for complaining compiler 2018-11-01 18:36:40 -07:00
Yash Tibrewal 382fe4b475 Add override back to GetInterceptedChannel 2018-11-01 18:17:02 -07:00
Yash Tibrewal ddcadad5b5 Add note on hijacking 2018-11-01 16:26:04 -07:00
Yash Tibrewal b732e9c403 Make client interceptors see notification even if Cancel was done before the RPC was issued. Also add tests 2018-11-01 16:14:40 -07:00
Yash Tibrewal fd88dcaf55 Add cancellation notification 2018-11-01 11:58:46 -07:00
Yash Tibrewal 3ece34d45c Let us clean a few things before getting started 2018-10-31 15:29:26 -07:00
Yash Tibrewal 857e79ce00 Improve documentation 2018-10-31 14:35:54 -07:00
Vijay Pai 932abf48a3 Address reviewer comments. 2018-10-31 01:02:07 -07:00
Vijay Pai 2f47137a6e Add support for IsCancelled check 2018-10-30 23:15:59 -07:00
Vijay Pai b460622c2d Address reviewer comments 2018-10-30 12:35:56 -07:00
Vijay Pai 47d0d5bf1f Merge branch 'master' into server_callback 2018-10-30 12:29:35 -07:00
Yash Tibrewal 0390b29e15 Register global interceptors functionality 2018-10-30 02:43:01 -07:00
Yash Tibrewal 3c1ca6bf39
Merge pull request #17034 from yashykt/interceptorcleanup
Get ClientContext included with ChannelInterface, and slight more cle…
2018-10-30 00:12:55 -07:00
Vijay Pai 84e763f10a Experimental C++ server callback unary API 2018-10-29 13:41:25 -07:00