Commit Graph

66 Commits

Author SHA1 Message Date
Bill Feng df89d8e157 bazel RBE Windows build 2019-04-05 11:40:11 -07:00
Soheil Hassas Yeganeh 18b19105f2 Implement TCP_INQ for gRPC in Linux
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.

Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.

This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:

  Before:
    l_50: 61.3584984733
    l_90: 94.8328711277
    l_99: 126.211351174
    l_999: 158.722406029

  After:
    l_50: 51.3546011488 (-16%)
    l_90: 72.3420731581 (-23%)
    l_99: 103.280218974 (-18%)
    l_999: 130.905689996 (-17%)
2019-03-06 22:15:53 -05: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
Yang Gao 4bc2ca4de6
Revert "Move grpc_shutdown internals to a detached thread" 2019-02-22 16:34:24 -08:00
yang-g 86b23adc7f Other comments 2019-02-15 16:26:31 -08:00
yang-g bc946d6c6d merge with head and resolve conflicts 2019-02-12 15:00:32 -08:00
Arjun Roy 195a30bb8b Grpc: Change grpc_handshake and grpc_handshake_mgr to use CPP implementations.
grpc_handshake is renamed to GrpcHandshake, using C++ class definitions
instead of C-style vtable classes. Update callers to use new interfaces.
We use RefCountedPtr to simplify reference tracking.
2019-02-11 11:35:08 -08:00
yang-g 3c8d24ba2c merge with head and resolve conflict 2018-12-19 10:13:41 -08:00
yang-g 67742ef63f Fix BUILD files. Manually edit bzl files 2018-12-06 14:37:52 -08:00
yang-g 23a9cf91f2 Fix test 2018-11-27 16:12:44 -08:00
yihuaz 285d4ef1be
Revert "Revert "Create and pass pollset_set to ALTS TSI handshaker"" 2018-10-05 09:33:56 -07:00
Jan Tattermusch fb296824af
Revert "Create and pass pollset_set to ALTS TSI handshaker" 2018-10-05 09:49:29 +02:00
Yihua Zhang c0fa62f2b6 pass a pollset_set to ALTS TSI handshaker 2018-10-02 19:21:32 -07:00
Ian Haken 68eff58df6 Create verify_peer_options when creating ssl credentials in order to expose a verification callback option.
These options are not yet exposed to languages outside of core.
2018-06-12 12:59:37 -07:00
Mark D. Roth dc4d01f6ef Add tracer for handshakers. 2018-04-17 14:58:34 -07:00
Vijay Pai da69355f30 C++ize gpr_thread as grpc_core::Thread, make it 2-phase init (construct/Start) 2018-02-19 22:39:58 -08:00
Vijay Pai 58a62755fc Remove support for detached threads. All threads must be joined. 2018-02-15 21:30:13 -08:00
Vijay Pai c745690caf Internalize gpr_thd except for id and currentid 2018-02-12 11:44:52 -08:00
Noah Eisen 4d20a66685 Run clang fmt 2018-02-09 09:34:04 -08:00
Noah Eisen be82e64b3d Autofix c casts to c++ casts 2018-02-09 09:16:55 -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 a3df36cc25
Merge pull request #13058 from yashykt/execctx
All instances of exec_ctx being passed around in src/core removed
2017-12-05 21:19:52 -08:00
Vijay Pai 19988c6c7e clang-format 2017-12-04 15:28:35 -08:00
Dave MacLachlan da341bcb89 Fix up review comments 2017-11-30 12:48:22 -08:00
Dave MacLachlan af5c54de9c Add thread naming support on platforms that support it.
As a client of grpc I want to be aware of which threads are being
created by grpc, and giving them recognizable names makes it significantly
easier to diagnose what is going on in my programs.
This provides thread names for macOS and Linux. Adding support for other
platforms should be easy for platform specialists.
2017-11-29 16:25:10 -08:00
Yash Tibrewal d489812215 changes for macos 2017-11-20 13:04:30 -08:00
Yash Tibrewal 177039b2f8 Merge master 2017-11-16 19:31:28 -08:00
Alexander Polcyn f51b7e16ee Fix missing copyright, fix merge conflict in updated BUILD 2017-11-13 21:29:50 -08:00
Alexander Polcyn 16ba80c850 Merge remote-tracking branch 'upstream/master' into pass_args_to_tsi 2017-11-13 20:48:20 -08:00
Alexander Polcyn 248c4f5848 Merge remote-tracking branch 'upstream/master' into pass_args_to_tsi 2017-11-13 16:31:27 -08:00
Alexander Polcyn 3f6b10afba Use existing read buffer in security handshaker if present 2017-11-13 16:18:14 -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 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 77532036b6 BUILD changes. test languauge to C++ 2017-10-31 11:11:18 -07:00
Yash Tibrewal e586324627 BUILD files changes for bazel 2017-10-30 17:52:07 -07:00
Yash Tibrewal 34a57d0346 rename all test core files to cc and a lot of C++ style conversions 2017-10-25 16:23:01 -07:00
Nicolas "Pixel" Noble 2bc5e3ac40 Moving visibility and package creation to the build system. 2017-08-30 19:18:37 +02:00
Nicolas "Pixel" Noble 5d80dc4985 Merge branch 'master' of https://github.com/grpc/grpc into import 2017-06-26 22:01:11 +02:00
Jan Tattermusch 4d5c3102a1 fix remaining license notices 2017-06-08 11:22:41 +02:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
Nicolas "Pixel" Noble af6c83f9e1 Adding dummy layering check option. 2017-05-19 01:53:56 +02:00
Nicolas "Pixel" Noble eb36b8ac77 Merge branch 'master' of https://github.com/grpc/grpc into import 2017-05-11 23:24:37 +02:00
Nicolas "Pixel" Noble 15cd5ce2ed Rewriting core tests BUILD files to use the build system. 2017-04-18 19:53:10 +02:00
Sree Kuchibhotla e04906dc54 Merge branch 'master' into cq_create_api_changes 2017-03-30 13:20:00 -07:00
Craig Tiller b29f1fe3a2 Update include paths 2017-03-28 15:49:23 -07:00
Sree Kuchibhotla b5b6bfd89b Updates C Core 2017-03-22 02:32:01 -07:00
Sree Kuchibhotla 1dbd981cf8 Prefix grpc_cq_polling_type enums with GRPC_CQ_ 2017-03-03 14:27:44 -08:00
Sree Kuchibhotla 2c7ab675c3 Merge branch 'master' into cq_create_api_changes 2017-03-03 10:57:07 -08:00