Commit Graph

207 Commits

Author SHA1 Message Date
Craig Tiller 9872da79a1
Eliminate grpc_metadata_batch_{init,destroy,move} (#27349)
* Eliminate grpc_metadata_batch_{init,destroy,move}

* fixes

* fixes

* fixes

* fixes

* portability fixes

* fixes

* fix

* fix

* fix

* be explicit about being explicit
2021-09-20 17:25:26 -07:00
Craig Tiller ea389c00c2
Adjust include order per style guide (#27175)
Introduce clang-format configuration to sort includes closer to our rules.
2021-09-08 12:14:44 -07:00
AJ Heller d10617edb5
Move resource_user ownership into chttp2 transport/server/connector v2 (#27032)
Reintroducing PR #26643, which was reverted in #27029

Fixed a memory leak and added a test that would have caught it (ASAN build): ca0c8c4
2021-08-18 17:04:00 -07:00
Craig Tiller f5d3ed2db1
Revert "Move resource_user ownership into chttp2 transport/server/connector (#26643)" (#27029)
This reverts commit d1935a65a1. Will be rolled forward with a fix.
2021-08-16 19:07:39 -07:00
AJ Heller d1935a65a1
Move resource_user ownership into chttp2 transport/server/connector (#26643) 2021-08-16 13:50:56 -07:00
Esun Kim ca945a58e9
Introduced grpc_error_handle (#25902)
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
2021-04-22 12:00:28 -07:00
Mark D. Roth 3f19333ced
Move retry code into its own filter in the DynamicFilter stack (#25820)
* rename ChannelData to ClientChannel

* make ClientChannel class definition public

* move retry code to its own filter

* move LB call factory method to ClientChannel class

* move dynamic termination filter out of ClientChannel class

* update comments

* remove retry parsing from client channel service config parser

* fix clang-tidy

* fix service_config_test

* clang-format
2021-03-31 15:39:14 -07:00
apolcyn 0901c9914b
Remove CAS loops in global subchannel pool and simplify subchannel refcounting (#25485) 2021-03-04 20:29:34 -08:00
Yash Tibrewal f4e55b85bc Replace disrespectful term 2021-02-08 15:29:53 -08:00
Esun Kim 53ab235fb8 Fix google-explicit-constructor 2020-12-03 15:03:39 -08:00
Esun Kim e7434d385e Fix by tidy-modernize-use-override 2020-10-16 14:01:06 -07:00
Esun Kim ece76ee1e8 Fix code by readability-container-size-empty 2020-10-16 09:48:20 -07:00
Esun Kim c736cf073c Added call to grpc::testing::TestEnvironment in more tests 2020-07-01 13:27:08 -07:00
Yash Tibrewal e98eaa5052
Revert "Revert "Add message-size check before message decompression"" 2020-06-23 12:19:07 -07:00
Vijay Pai c7f2956b67
Revert "Add message-size check before message decompression" 2020-06-22 16:18:36 -07:00
Yash Tibrewal 0497ad8bb0 Add missing message-size check before decompressing
Add and fix tests for limit check before decompression

Code restructuring to allow easy reuse of service config call data

Regenerate projects

Reviewer comments
2020-06-19 14:49:18 -07:00
Vijay Pai 0c0f3f0556 Declare microbenchmarks as tests rather than binaries, fix issues 2020-02-13 09:34:15 -08:00
Yash Tibrewal 3a189d7e08 test changes 2019-10-31 17:09:38 -07:00
Vijay Pai 0cab2084e6 clang-format 2019-10-17 09:08:04 -07:00
Vijay Pai 406b70629a Remove unused parameter warning (17 of 20) 2019-10-17 08:52:00 -07:00
Soheil Hassas Yeganeh c9376b4e0b Use cycle clock instead of clock monotonic to measure call latency.
This removes two more getttime syscalls from the hot path, when cycle
clock is enabled.
2019-09-09 10:37:48 -04:00
Vijay Pai 1077b3435c Use range-based for on state rather than state.KeepRunning when possible 2019-08-29 11:27:00 -07:00
Mark D. Roth 0bdeca47b6
Merge pull request #19038 from markdroth/lb_policy_create_channel_api_improvement
Remove CreateChannel() method from LB helper API.
2019-08-27 10:54:52 -07:00
Hope Casey-Allen 59564ebd96 Fix warnings to unblock gcc8 support 2019-08-20 16:02:53 -07:00
Mark D. Roth a23e7ab188 Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-08-20 07:58:38 -07:00
Mark D. Roth 46f706c99b Revert "Merge pull request #19686 from gnossen/revert_breakage"
This reverts commit 1f2398b0d5, reversing
changes made to 99169d811c.
2019-07-23 07:50:27 -07:00
Richard Belleville 63b4f3d819 Revert "Merge pull request #19673 from markdroth/channel_grpc_init"
This reverts commit 4e21980716, reversing
changes made to 62b8a783fa.
2019-07-18 13:00:24 -07:00
Mark D. Roth 8cc5b8f680 Defer grpc shutdown until after channel destruction. 2019-07-17 16:35:14 -07:00
Mark D. Roth 477ebef532 Remove CreateChannel() method from LB helper API. 2019-05-28 14:18:15 -07:00
Esun Kim e18ed03c04 Made gRPC inialized after entering main function in microbenchmarks. 2019-05-02 16:58:37 -07:00
Arjun Roy 8ce42f67b2 Shrink arena size by 40 bytes and add additional
alignment options (for cache-alignment).

We shrink by:
1) Removing an unnecessary zone pointer.
2) Replacing gpr_mu (40 bytes when using pthread_mutex_t) with
std::atomic_flag.

We also header-inline the fastpath alloc (ie. when not doing a zone
alloc) and move the malloc() for a zone alloc outside of the mutex
critical zone, which allows us to replace the mutex with a spinlock.

We also cache-align created arenas.
2019-04-24 16:39:03 -07:00
Mark D. Roth ce3ff86763 Convert call_combiner to C++. 2019-04-23 15:27:06 -07:00
Karthik Ravi Shankar dad3f34207
Revert "Revert "Revert "Folding the Channel class into the grpc_impl namespace.""" 2019-04-10 12:14:04 -07:00
Karthik Ravi Shankar 9875fabdd4 Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-08 12:55:07 -07:00
Soheil Hassas Yeganeh 1014fe507f Use const ref for grpc_slice.
We are copying the slice on every call creation, which is hurting
ping/pong traffic.
2019-03-22 06:38:33 -04:00
Mark D. Roth 251d66aac6 Convert client channel factory to C++ 2019-03-01 08:40:21 -08:00
Nicolas Noble 91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace."" 2019-02-27 16:53:23 -08:00
Mark D. Roth aa149fedbb Revert "Merge pull request #18093 from grpc/revert-17770-lb_policy_picker_api"
This reverts commit f327b83706, reversing
changes made to b3b5d63423.
2019-02-19 13:19:24 -08:00
hcaseyal 275296c594
Revert "LB policy picker API" 2019-02-19 11:05:52 -08:00
Nicolas Noble 2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace." 2019-02-15 09:52:15 -08:00
Nicolas "Pixel" Noble de332cfcee Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 22:11:47 +01:00
Mark D. Roth bab8123763 LB policy picker API 2019-02-13 08:30:04 -08:00
Nicolas "Pixel" Noble 63db582516 Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 00:19:23 +01:00
Juanli Shen 4f3c1572e1
Revert "Revert "C++-ify subchannel"" 2019-01-30 10:23:07 -08:00
Juanli Shen bbfc024a02
Revert "C++-ify subchannel" 2019-01-29 15:23:55 -08:00
Juanli Shen 25dc2ffed6 C++-ify subchannel 2019-01-29 13:00:02 -08:00
Nicolas "Pixel" Noble 2fd079ff7c Channel folding. 2019-01-23 21:40:07 +01:00
Juanli Shen 23677bd827 Remove subchannel args 2019-01-08 19:43:45 -08:00
Sheena Madan 8a461613d1
Revert "Make Microbenchmarks Test Targets" 2018-12-05 16:45:15 -08:00
ncteisen 475ccfd110 Fix ubsan 2018-11-30 10:27:34 -08:00
Yash Tibrewal a60fd359cb Modify remaining usecases in test/cpp 2018-11-16 11:42:31 -08:00
Soheil Hassas Yeganeh 48e4a81b05 Remeve memset(0) from arena allocated memory.
Callers are updated to properly initialize the memory.

This behavior can be overridden using GRPC_ARENA_INIT_STRATEGY
environment variable.
2018-11-05 10:12:39 -05:00
ncteisen 1a7f14fd31 Remove uneeded header 2018-10-18 14:00:09 -07:00
Yash Tibrewal a1598c5abf Create interfaces and initial plumbing for interception API 2018-09-26 19:25:30 -07:00
Juanli Shen f5f1d57d7a Add load reporting filter 2018-06-22 10:00:48 -07:00
Mark D. Roth 817d28fed6 Revert "Merge pull request #15746 from grpc/revert-15709-recv_trailing_metadata_ready2"
This reverts commit 3f9308ce1f, reversing
changes made to 92a0ae0b10.
2018-06-14 09:44:58 -07:00
Mark D. Roth 0159026111
Revert "Second attempt: move recv_trailing_metadata into its own callback, don't use on_complete for recv_ops" 2018-06-13 14:49:25 -07:00
Mark D. Roth 9846826b51 Revert "Revert "move recv_trailing_metadata into its own callback, don't use on_complete for recv_ops""
This reverts commit f371513445.
2018-06-11 11:11:05 -07:00
Mark D. Roth f371513445
Revert "move recv_trailing_metadata into its own callback, don't use on_complete for recv_ops" 2018-06-08 14:22:12 -07:00
Mark D. Roth 8ae0ff0af2 Move recv_trailing_metadata into its own callback. Don't use
on_complete for recv_ops.
2018-06-08 08:37:23 -07:00
ncteisen 40ec89ff67 Support microbenchmarks internally 2018-04-25 17:41:23 -07:00
Vijay Pai c90a85649b Change grpc++ references in names to grpcpp 2018-03-08 22:04:59 -08:00
Yash Tibrewal 8cf1470a51
Revert "Revert "All instances of exec_ctx being passed around in src/core removed"" 2017-12-06 09:47:54 -08:00
Yash Tibrewal ad4d2dde00
Revert "All instances of exec_ctx being passed around in src/core removed" 2017-12-06 09:05:05 -08:00
Yash Tibrewal c354269ba7 Remove _ prefixed variable names 2017-11-29 19:07:44 -08:00
Yash Tibrewal 177039b2f8 Merge master 2017-11-16 19:31:28 -08:00
Yash Tibrewal 6c26b16fe0 Move ExecCtx to grpc_core namespace. Make exec_ctx a private static in ExecCtx and some minor changes 2017-11-14 18:11:22 -08:00
Yash Tibrewal 75122c2357 Address some PR comments 2017-11-14 01:36:28 -08:00
Craig Tiller be98d24841 clang-format after nullptr changes 2017-11-10 15:26:57 -08:00
Craig Tiller 4ac2b8e585 Enable clang-tidy as a sanity check, fix up all known failures 2017-11-10 14:14:17 -08:00
Yash Tibrewal 3150744c71 Removing more exec_ctx instances 2017-11-09 18:27:37 -08:00
Yash Tibrewal 4e9265c828 Merge with master 2017-11-09 17:46:29 -08:00
Yash Tibrewal 40422d5fa6 Merge master 2017-11-06 14:43:31 -08:00
Craig Tiller baa14a975e Update clang-format to 5.0 2017-11-03 09:09:36 -07:00
Yash Tibrewal 39aed1ae8b Remove unnecessary extern Cs 2017-10-25 17:04:35 -07:00
Yash Tibrewal 0ee7574732 Removing instances of exec_ctx being passed around in functions in
src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of
grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx
also keeps track of the previous exec_ctx so that nesting of exec_ctx is
allowed. This means that there is only one exec_ctx being used at any
time. Also, grpc_exec_ctx_finish is called in the destructor of the
object, and the previous exec_ctx is restored to avoid breaking current
functionality. The code still explicitly calls grpc_exec_ctx_finish
because removing all such instances causes the code to break.
2017-10-18 17:12:19 -07:00
Craig Tiller fabb513fe4 Merge 2017-09-08 11:45:11 -07:00
David Garcia Quintas 1faa48ead3 Merge branch 'master' of github.com:grpc/grpc into rename_lr_to_plugin 2017-09-07 15:29:03 -07:00
David Garcia Quintas 0822d331df s/load_reporting/server_load_reporting 2017-09-06 18:18:48 -07:00
Mark D. Roth 764cf04a13 Revert "Revert "Implement call combiner""
This reverts commit bf19961d0a.
2017-09-01 09:00:06 -07:00
Mark D. Roth bf19961d0a Revert "Implement call combiner" 2017-08-29 16:59:07 -07:00
Craig Tiller d9b82bdecb Merge github.com:grpc/grpc into grpc_millis 2017-08-29 12:16:56 -07:00
Mark D. Roth 76e264b8df Implement call combiner. 2017-08-25 09:03:33 -07:00
Craig Tiller 89c1428a60 Propagate grpc_millis further 2017-07-19 15:32:27 -07:00
ncteisen 274bbbe6a0 Add rich closure debug mode 2017-06-08 15:29:29 -07:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
Craig Tiller 7b622ab558 ubsan fix: dont deref past end of array 2017-05-10 07:58:41 -07:00
Craig Tiller ee880fd373 Merge github.com:grpc/grpc into count_now 2017-04-21 15:43:27 -07:00
Craig Tiller 0bb25f325c Build fix 2017-04-20 14:17:23 -07:00
lyuxuan 3fe0f6d851 Merge pull request #10622 from lyuxuan/cpp_overhead
profile cpp overhead for call create
2017-04-20 12:35:39 -07:00
Yuxuan Li f2af0c3009 change to new completion queue api 2017-04-19 16:45:38 -07:00
Craig Tiller 2c6f63731c Merge github.com:grpc/grpc into cpparena 2017-04-14 13:14:10 -07:00
Yuxuan Li 0bbdb022de adding a benchmark for c core call create that do two separate batches. 2017-04-14 11:47:18 -07:00
Sree Kuchibhotla b81fb794a3 Merge pull request #9972 from sreecha/cq_create_api_changes
Completion Queue creation API changes (C-Core and C++ only)
2017-04-14 07:59:18 -07:00
Yuxuan Li 784018d8a4 use grpc_channel_create_registered_call 2017-04-13 16:17:37 -07:00
Yuxuan Li c7609c4f3f profile cpp overhead for call create 2017-04-12 18:02:55 -07:00
Sree Kuchibhotla a6ff103446 Merge branch 'master' into cq_create_api_changes 2017-04-06 13:09:17 -07:00
Craig Tiller 3bd7a2111e Fixup code 2017-04-06 09:04:18 -07:00
Craig Tiller a24b971214 Rename compress_filter --> message_compress_filter 2017-04-06 09:03:21 -07:00
Craig Tiller 41f46ab665 Merge github.com:grpc/grpc into cpparena 2017-04-05 14:05:38 -07:00