Commit Graph

644 Commits

Author SHA1 Message Date
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
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
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
Vijay Pai 56f1d3d697 clang-format 2018-10-25 11:06:32 -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
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 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
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 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
Yash Tibrewal 130eeeaeb9 Merge branch 'master' into interceptors_initial 2018-10-02 14:49:17 -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 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
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
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
easy 0131c7bbb3 Document that set_deadline() uses absolute time. 2018-09-19 14:26:59 -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
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
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
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
Jan Tattermusch 605a42d90a fix #13939 2018-09-05 21:40:58 +02:00
Mark D. Roth 6d2c8f8072 Revert "Merge pull request #16512 from grpc/revert-16351-health_checking_service"
This reverts commit 4ee0f4c790, reversing
changes made to 5ee9b5e7b5.
2018-09-05 10:27:54 -07:00
Noah Eisen 4e6ed86a04
Merge pull request #16407 from ncteisen/lazy-metadata
Lazily Fill Metadata Map
2018-08-31 12:05:16 -07:00
Vijay Pai 5474e92292 Allocate using call arenas 2018-08-31 10:11:38 -07:00
Vijay Pai 6b6bdbbb76 Address reviewer and clang-tidy comments 2018-08-30 15:46:27 -07:00
Vijay Pai 8bf52535d1 Provide a generic client-side unary callback API 2018-08-30 15:46:27 -07:00
Juanli Shen 14a858123d
Revert "Implement Watch method in health check service." 2018-08-29 21:36:41 -07:00
ncteisen 58e99b6377 Use strncmp over grpc_slice_str_cmp 2018-08-29 10:30:31 -07:00
ncteisen ca77fcd7cd Reviewer comments 2018-08-29 07:46:48 -07:00
ncteisen 743d40d635 Lazily fill metadata map 2018-08-28 17:00:20 -07:00
Mark D. Roth 4d985efe19
Merge pull request #16351 from markdroth/health_checking_service
Implement Watch method in health check service.
2018-08-28 11:59:22 -07:00
Mark D. Roth 99ce3e19af Implement Watch method in health check service. 2018-08-28 08:51:52 -07:00
Vijay Pai 3ad8df35f0
Merge pull request #16383 from vjpai/tidy
Cast an index to size_t to avoid sign-conversion warning
2018-08-23 14:59:32 -07:00
Yash Tibrewal f80af5a7c7 Formatting 2018-08-17 14:58:01 -07:00
Yash Tibrewal 356fff684a Improve documentation on lifetime of message and status 2018-08-17 14:55:05 -07:00
Vijay Pai 616b5d798a Cast an index to size_t to avoid sign-conversion warning 2018-08-17 13:38:48 -07:00
Juanli Shen 61dabce400
Merge pull request #16289 from AspirinSJL/warn_api_use
Add warning about AsyncNotifyWhenDone bug
2018-08-16 15:23:36 -07:00
Vijay Pai 14ad82a76d Create a new method handler for resource exhaustion and tie into thread mgr 2018-08-14 16:23:21 -07:00
Vijay Pai bbb97318e8
Merge branch 'master' into callback_cq 2018-08-13 11:07:22 -07:00
Mehrdad Afshari e58d400ba2
Fix type reference in documentation 2018-08-10 17:13:42 -07:00
Mehrdad Afshari b7b1e77943
Fix minor typo in documentation 2018-08-10 14:38:33 -07:00
Vijay Pai e84096bbe5 Experimental infrastructure for callback-based CQ 2018-08-10 14:33:22 -07:00
Juanli Shen 5e9994bf30 Add warning about AsyncNotifyWhenDone bug 2018-08-09 14:40:26 -07:00
yang-g f48d3d5d98 Initialize member in default ctor 2018-07-17 12:06:31 -07:00
Juanli Shen be40b0d3a8 Add server load reporting service 2018-07-13 19:52:59 -07:00
Vijay Pai c5336fcf8b Drop a spurious assert, since ServerReader can SendInitialMetadata 2018-07-06 14:21:14 -07:00
ncteisen 7d474811ab Reviewer feedback 2018-06-29 14:59:59 -07:00
ncteisen a0a59537d2 s/CodegenGeneric/Raw/g 2018-06-28 18:52:01 -07:00
ncteisen 8db7788d46 Merge branch 'master' of https://github.com/grpc/grpc into serialization 2018-06-28 00:12:02 -07:00
Yash Tibrewal 73a124fcfb Wire to socket doc change 2018-06-20 13:34:33 -07:00
ncteisen 0d878eae6c Fix build 2018-06-20 07:59:06 -07:00
ncteisen d170b83e0d Allow AsyncServer with one generic to compile 2018-06-20 07:59:05 -07:00
ncteisen 93a90e6132 Support codegen generic on server side 2018-06-20 07:59:05 -07:00
Vijay Pai 500e3399b6 Address reviewer comments 2018-06-12 00:58:18 -07:00
Vijay Pai 1b8969b973 Add useful comment on ServerInterface::Shutdown 2018-06-12 00:53:19 -07:00
yang-g 801e566622 handle empty slice explicitly 2018-06-08 10:29:07 -07:00
ncteisen 92c4e0fee0 Rename ProtoBuffer helpers 2018-04-12 17:19:54 -07:00
Noah Eisen e91cfed3a2
Merge pull request #14934 from ncteisen/typos
Fix typos
2018-04-09 10:36:10 -07:00
ncteisen cf5b2666e1 Make GrpcProtoBufferReaderWriter public 2018-04-06 07:05:27 -07:00
ncteisen 4a719088ca Fix typos 2018-04-04 10:26:57 -07:00
Ara Ayvazyan 2e3d410846 fixup! Use bbuf_ptr 2018-04-02 11:16:41 -07:00
Ara Ayvazyan 8016d35aca fixup! Fix formatting 2018-04-02 10:56:45 -07:00
Ara Ayvazyan f76069a593 fixup! Fix the payload ownership issue 2018-03-30 10:44:43 -07:00
Ara Ayvazyan 4df7438960 Fix ServerInterface::PayloadAsyncRequest to work with ByteBuffer 2018-03-30 10:15:27 -07:00
Vijay Pai a4da2d2a54 Eliminate existence of SneakyCallOpSet, some server cleanup 2018-03-22 19:09:01 -07:00
Vijay Pai cdddc8ce42 Desneak client unary call, avoid Hyrum's Law (used for 1-thread simplicity) 2018-03-20 08:46:28 -07:00
Vijay Pai ba46afe3e2 Delete status_test that has no coverage; replace with static_asserts 2018-03-15 11:30:59 -07:00
Vijay Pai 589e2cfe09
Update completion_queue.h 2018-03-13 09:52:00 -07:00
makdharma 626a65e877 Added protected default constructor 2018-03-13 09:46:08 -07:00
makdharma 1d603248f2 forgot to add completion_queue.h doh! 2018-03-12 10:37:52 -07:00
makdharma e1a7283dd3 moved Next implementation to CC file. 2018-02-26 14:55:56 -08:00
makdharma 8065000697 Remove "final" keyword and make methods protected.
This adds extensibility to the API and makes custom implementation
of the server possible.
2018-02-23 14:51:46 -08:00
Tobias Jungel f258b56f43 fix non-virtual-dtor
compiling with -Wnon-virtual-dtor works with this patch
2018-02-16 12:42:05 +01:00
Muxi Yan 0e00c43082 Move headers from grpc++ to grpcpp 2018-02-15 14:49:34 -08:00