Commit Graph

3440 Commits

Author SHA1 Message Date
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
Yash Tibrewal 145789e9ff interceptor_creators_ should be destroyed after health_check_service_ 2018-10-29 13:15:29 -07:00
Vijay Pai 371b1d99d5 Add call as param to MethodHandler::Deserialize to allow arena use 2018-10-29 02:10:00 -07:00
Yash Tibrewal bfd1935afc Add note on the experimental nature of the additional method in ServerInterface 2018-10-29 01:56:12 -07:00
Yash Tibrewal 85ddf5c713 Get ClientContext included with ChannelInterface, and slight more cleanup 2018-10-29 00:14:05 -07:00
Yash Tibrewal 01313976e1
Merge pull request #16842 from yashykt/interceptors
Experimental API for Client and Server Interception
2018-10-28 23:36:59 -07:00
Yash Tibrewal 395edbfa24 Replace size_t initialization from false to 0 2018-10-27 20:14:06 -07:00
Yash Tibrewal 2475744c75 Change index to size_t 2018-10-26 18:14:55 -07:00
Yash Tibrewal 005eb29298 Missed reviewer comments 2018-10-26 16:52:18 -07:00
Yash Tibrewal 1ea195b6f3 Reviewer comments except for void * fixed 2018-10-26 16:11:48 -07:00
Yash Tibrewal 6a5f39db3c Separate out interceptorbatchmethodimpl to a different file 2018-10-26 15:47:16 -07:00
Yash Tibrewal c2e3fde9b5 Rename call.h to call_op_set.h and call_wrapper.h to call.h 2018-10-26 15:15:48 -07:00
Vijay Pai b8f3b532d3
Merge pull request #17018 from sreecha/patch-1
Fix an outdated comment
2018-10-26 12:54:44 -07:00
Noah Eisen 5cf95f0b52
Merge pull request #16991 from ncteisen/channelz-get-server-core
Channelz part 10: GetServer
2018-10-26 12:18:59 -07:00
Sree Kuchibhotla 91faa8e8f0
Fix an outdated comment
Fix the outdated commment in ServerCompletionQueue constructor
2018-10-26 10:49:52 -07:00
Yash Tibrewal cc21d32c77 Some cleanup 2018-10-26 00:13:55 -07:00
Yash Tibrewal 312feb4202 Adding generic rpc and unimplemented rpc test for server interceptors 2018-10-25 21:43:49 -07:00
Yash Tibrewal 3896dabb85 Merge branch 'master' into interceptors 2018-10-25 19:50:10 -07:00
Yash Tibrewal a094b7b312 Added server async tests 2018-10-25 19:24:30 -07:00
Vijay Pai 63921c7f63
Merge pull request #16992 from morganchen12/warnings
Fix warnings in doc comments
2018-10-25 17:04:42 -07:00
Muxi Yan c88e509ba6
Merge branch 'master' into config-isolation 2018-10-25 15:43:09 -07:00
Vijay Pai 56f1d3d697 clang-format 2018-10-25 11:06:32 -07:00
ncteisen 693f46841a Add GetServer to core 2018-10-24 17:31:30 -07:00
ncteisen 4fa389b137 Unifying grpc build hacks 2018-10-24 17:25:51 -07:00
ncteisen 482641501c Revert "Revert "Refactor Channelz Service to Support Internal Build""
This reverts commit 2eafaccba6.
2018-10-24 17:22:22 -07:00
Yash Tibrewal 281de1bb30 Solve memory leak due to double setting of set_server_rpc_info 2018-10-24 15:54:08 -07:00
Noah Eisen 2eafaccba6
Revert "Refactor Channelz Service to Support Internal Build" 2018-10-24 15:44:50 -07:00
Morgan Chen 6f4f17a3d0 Fix documentation warnings 2018-10-24 15:29:19 -07:00
Mark D. Roth 496d0676c8
Merge pull request #16507 from markdroth/health_checking_client
Health checking client
2018-10-24 13:17:01 -07:00
Mark D. Roth f85fd026e3 Client-side health checking support. 2018-10-24 12:29:04 -07:00
Vijay Pai 22dc39ae66 Change CatchingCallback function to be varargs for broader use 2018-10-24 02:28:57 -07:00
Yash Tibrewal 62280b42c7 Add client streaming, server streaming and bidi streaming tests 2018-10-23 21:08:39 -07:00
Yash Tibrewal 66cc56bb03 Another server side test 2018-10-23 15:33:08 -07:00
Yash Tibrewal 4da91c1156 First test for server interception 2018-10-23 13:56:36 -07:00
ncteisen 97134a69be Refactor to support internal build 2018-10-22 17:08:31 -07:00
Yash Tibrewal d8cfd96fb2 Adding tests using the callback API 2018-10-22 16:43:43 -07:00
Yash Tibrewal b358ef85dc Merge branch 'master' into interceptors 2018-10-22 10:39:27 -07:00
Yash Tibrewal 9b83b7d19e Adding intercepted channel 2018-10-22 02:42:03 -07:00
Yash Tibrewal 3a17f5b05e Working on tests 2018-10-21 23:06:21 -07:00
Vijay Pai 340bffa555
Merge pull request #16950 from vjpai/membug2
Fix CallOpSet copy/assignment to reset cq_tag
2018-10-19 20:22:58 -07:00
Vijay Pai ce4bd108ea Fix CallOpSet copy/assignment to reset cq_tag 2018-10-19 17:17:34 -07:00
Yash Tibrewal 52765e9cb1 Don't expose internal functions.. Add a layer of indirection namely InternalInterceptorBatchMethods 2018-10-19 17:07:05 -07:00
Yash Tibrewal 456231b26d Server side interception for CompletionOp and AsyncRequest 2018-10-18 22:43:49 -07:00
Yash Tibrewal adca91f6cf Server interception for SyncRequest 2018-10-18 16:07:00 -07:00
Vijay Pai dfcc96227c
Merge pull request #16362 from overvenus/formalize-empty-batch
Formalize the contract of grpc_call_start_batch with empty batches
2018-10-18 11:18:02 -07:00
Muxi Yan 62693ec1bd Merge remote-tracking branch 'upstream/master' into config-isolation 2018-10-18 09:38:26 -07:00
Yash Tibrewal d042a5acf1 some tests fail 2018-10-17 22:05:48 -07:00
Yash Tibrewal 0b785ae8cf Remove unneeded file 2018-10-17 14:37:35 -07:00
Yash Tibrewal 196f530ac9 Pass interceptor creators to server object 2018-10-17 12:51:17 -07:00
Yash Tibrewal af621c7705 Add method to register server creators 2018-10-17 12:32:53 -07:00
Yash Tibrewal b232bacf27 Starting on server interceptors 2018-10-16 14:11:07 -07:00
Yash Tibrewal f9fe345553 Add more tests for client interceptors 2018-10-16 14:11:07 -07:00
Yash Tibrewal cc8c27950c Change types to use C++ types rather than core types 2018-10-16 14:10:48 -07:00
Yash Tibrewal 6fb7bd23bf s/GPR_ASSERT/GPR_CODEGEN_ASSERT and few more bugs 2018-10-16 14:10:30 -07:00
Yash Tibrewal 6f05a711e6 Adding a test 2018-10-16 14:10:17 -07:00
Yash Tibrewal 63bdf4e236 More changes for client interception 2018-10-16 14:10:02 -07:00
Yash Tibrewal 5d831da9d1 Adding hook points for interception. Code compiles and tests still run 2018-10-16 14:09:34 -07:00
Mark D. Roth f4e65787b6 Merge remote-tracking branch 'upstream/master' into health_checking_service 2018-10-15 13:12:26 -07:00
yang-g a078aa6b68 Enable building opencensus for bazel build 2018-10-12 16:33:30 -07:00
Vijay Pai a46ddf4a09 Remove grpc_use_signal which is no longer relevant 2018-10-10 08:38:15 -07:00
Muxi Yan e2e5c81893 New API for GRPCCall 2018-10-08 15:50:55 -07:00
ncteisen 5de6e2533d Merge branch 'master' of https://github.com/grpc/grpc into channelz-server-sockets 2018-10-05 12:20:09 -07:00
ncteisen 664178164a reviewer feedback 2018-10-04 16:32:01 -07:00
ncteisen 867192e29e Merge branch 'master' of https://github.com/grpc/grpc into channel-trace-size 2018-10-04 16:06:19 -07:00
ncteisen cfe47deca4 Merge branch 'master' of https://github.com/grpc/grpc into channelz-server-sockets 2018-10-04 15:17:50 -07:00
ncteisen d7bbc60ad6 Reviewer feedback 2018-10-04 13:19:49 -07:00
ncteisen a139b44acc Clenaer channelz default values 2018-10-03 14:43:23 -07:00
ncteisen a64cb54de1 Channel trace is limited by memory 2018-10-02 17:33:07 -07:00
Yash Tibrewal 130eeeaeb9 Merge branch 'master' into interceptors_initial 2018-10-02 14:49:17 -07:00
ncteisen 3545d754d5 Channelz get server sockets support 2018-10-02 09:55:00 -07:00
Vijay Pai e04a819c12
Merge pull request #16657 from g-easy/deadline
Document that set_deadline() uses absolute time.
2018-10-01 18:58:44 -07:00
Yash Tibrewal 1d999617e2 Add experimental versions with interceptors for create channel from fd and inproc channel 2018-09-30 22:13:44 -07:00
Yash Tibrewal b741edf37e Error fixes 2018-09-27 17:34:19 -07:00
Yash Tibrewal a1598c5abf Create interfaces and initial plumbing for interception API 2018-09-26 19:25:30 -07:00
ncteisen 4fcf871806 Merge branch 'master' of https://github.com/grpc/grpc into channelz 2018-09-25 13:37:58 -07:00
Mark D. Roth be1ce0c4cc Revert "Merge pull request #16600 from grpc/revert-16574-health_checking_service"
This reverts commit de11358660, reversing
changes made to 107d10ea73.
2018-09-25 11:42:57 -07:00
Muxi Yan b522334d63
Merge pull request #16659 from grpc/security_func_signature
Update function signature in grpc_security
2018-09-21 08:07:34 -07:00
Vijay Pai 17fc4d4029 Address reviewer comments 2018-09-20 10:52:48 -07:00
Vijay Pai 0db69018b0 Use GPR_CODEGEN_ASSERT in impl/codegen 2018-09-20 00:58:29 -07:00
Vijay Pai fc1e35444b Reset status field in tag as well as func 2018-09-20 00:39:49 -07:00
Vijay Pai 9e6511ae2e Make the core callback interface API so that it can be used in generated code 2018-09-19 23:57:56 -07:00
Muxi Yan 51b79f1757
Update function signature 2018-09-19 17:46:03 -07:00
easy 0131c7bbb3 Document that set_deadline() uses absolute time. 2018-09-19 14:26:59 -07:00
Vijay Pai 46429a2a6a
Merge pull request #16624 from vjpai/callback_alarms
EXPERIMENTAL: Add callback-based alarms
2018-09-19 12:06:11 -07:00
Vijay Pai 1359543b47 Add a comment to address reviewer feedback 2018-09-19 09:41:42 -07:00
ncteisen bd9d97a200 Channelz socket support 2018-09-18 14:57:02 -07:00
Yash Tibrewal d177c8fe46
Merge pull request #16384 from yashykt/doc1
Improve documentation on lifetime of message and status
2018-09-18 14:26:08 -07:00
Vijay Pai 73d89a66f9 Catch exceptions in user callbacks 2018-09-14 16:56:19 -07:00
Vijay Pai db01bf793a Add callback-based alarms 2018-09-13 09:54:41 -07:00
Yash Tibrewal 18a6a012f2 Merge branch 'master' into linuxversion 2018-09-12 17:10:09 -07:00
Yash Tibrewal 5f2bb7a7d4 s/GRPC/gRPC 2018-09-12 11:14:18 -07:00
Vijay Pai 3bc10c0f44
Merge pull request #16492 from vjpai/client_callback
EXPERIMENTAL: C++  generic client-side unary callback API
2018-09-12 09:03:49 -07:00
ncteisen 157e7fa03e fix clang tidy 2018-09-11 14:33:40 -07:00
Vijay Pai 20778b0c46 Address reviewer comments 2018-09-11 09:14:57 -07:00
Mark D. Roth 42d9becd91
Revert "Second attempt: Implement Watch method in health check service." 2018-09-10 14:06:52 -07:00
ncteisen ef1a390d1d Merge branch 'master' of https://github.com/grpc/grpc into channelz-server 2018-09-10 11:19:53 -07:00
Noah Eisen 2edfddb66f
Merge pull request #16055 from ncteisen/channelz-subchannels
Channelz Part 4: Add Subchannel Support
2018-09-10 11:12:52 -07:00
Noah Eisen 1a09a5931e
Merge pull request #16558 from ncteisen/user-agent
Stop Unconditionally Surfacing User Agent to Server
2018-09-10 09:03:02 -07:00
ncteisen 5946ae5eff Merge branch 'channelz-subchannels' into channelz-server 2018-09-08 10:19:26 -07:00
ncteisen 2f76fd452e Merge branch 'master' of https://github.com/grpc/grpc into channelz-subchannels 2018-09-08 10:15:51 -07:00
Mark D. Roth a8247c833c
Merge pull request #16574 from markdroth/health_checking_service
Second attempt: Implement Watch method in health check service.
2018-09-07 11:53:16 -07:00