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%)
6 years ago
Jan Tattermusch
486b1fe320
Fix bad_client_simple_request test.
...
The data of 0xffffffff is actually not illegal, the top bit should be
ingored according to the spec.
6 years ago
ncteisen
7b81ae14a7
clang tidy and clang format
6 years ago
yang-g
e00ca0371a
Promote gpr_test_util to part of grpc_test_util, add a sample to show it works, build.yaml change first
6 years ago
yang-g
e75fc243da
change tests to use the new class instead of grpc_test_init
6 years ago
ncteisen
e35f24da4d
reviewer feedback
6 years ago
Yash Tibrewal
8d47cd4992
Revert "Revert "Fathom tcp changes""
6 years ago
Jan Tattermusch
97ba943f17
Revert "Fathom tcp changes"
6 years ago
Yash Tibrewal
f0397933b0
Fathom TCP level changes. TracedBuffer for keeping track of all buffers
...
to be traced. Adding tests for Fathom and TracedBuffer. A lot more.
Please read PR description.
7 years ago
Vijay Pai
da69355f30
C++ize gpr_thread as grpc_core::Thread, make it 2-phase init (construct/Start)
7 years ago
Vijay Pai
58a62755fc
Remove support for detached threads. All threads must be joined.
7 years ago
Vijay Pai
c745690caf
Internalize gpr_thd except for id and currentid
7 years ago
Noah Eisen
4d20a66685
Run clang fmt
7 years ago
Noah Eisen
be82e64b3d
Autofix c casts to c++ casts
7 years ago
adelez
39307d23c3
Revert "Revert "Define the tests as grpc_cc_test to automatically test against all po…""
7 years ago
adelez
18a356c9fa
Revert "Define the tests as grpc_cc_test to automatically test against all po…"
7 years ago
Adele Zhou
5b30e46854
Define the tests as grpc_cc_test to automatically test against all polling strategies
7 years ago
Yash Tibrewal
83ad85e2fa
Remove unnecessary check and few more comments
7 years ago
Yash Tibrewal
54f6092eff
Force the client to shutdown so that the server write can complete
7 years ago
Ken Payson
1dc0833bed
Don't segfault on header replay
7 years ago
Yash Tibrewal
153ebda1ba
reduce send size for window overflow test
7 years ago
Yash Tibrewal
b9a34339a7
Make the thread wait so that write can complete too
7 years ago
Yash Tibrewal
7cbbee745e
remove unnecessary assert
7 years ago
Yash Tibrewal
0d8b21e100
Add helper function for rst_stream
7 years ago
Yash Tibrewal
eea1d9ba70
nullptr check
7 years ago
Yash Tibrewal
1791df0a72
Bad client changes to make large metadata test to work again
7 years ago
Mark D. Roth
dbdf495f61
Split lib/support into lib/gpr and lib/gpr++.
7 years ago
Muxi Yan
38fcd0c6c3
clang-format
7 years ago
Yash Tibrewal
8cf1470a51
Revert "Revert "All instances of exec_ctx being passed around in src/core removed""
7 years ago
Yash Tibrewal
ad4d2dde00
Revert "All instances of exec_ctx being passed around in src/core removed"
7 years ago
Mark D. Roth
e204e5e497
Apply #13336 to v1.8.x branch.
7 years ago
Dave MacLachlan
da341bcb89
Fix up review comments
7 years ago
Yash Tibrewal
c354269ba7
Remove _ prefixed variable names
7 years ago
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.
7 years ago
Yash Tibrewal
81fc8c9c33
Fix tests to call grpc_init and grpc_shutdown before using exec_ctx
7 years ago
Yash Tibrewal
a13a8c0f3e
A few src/core fixes due to missing exec_ctx_finish
7 years ago
Yash Tibrewal
6c26b16fe0
Move ExecCtx to grpc_core namespace. Make exec_ctx a private static in ExecCtx and some minor changes
7 years ago
Yash Tibrewal
75122c2357
Address some PR comments
7 years ago
Craig Tiller
be98d24841
clang-format after nullptr changes
7 years ago
Craig Tiller
4ac2b8e585
Enable clang-tidy as a sanity check, fix up all known failures
7 years ago
Mark D. Roth
04c97d0e0d
Add notify_on_receive_settings closure to chttp2 transport.
7 years ago
Mark D. Roth
bcfd0f38fc
Bool-ify is_client param.
7 years ago
Craig Tiller
baa14a975e
Update clang-format to 5.0
7 years ago
Yash Tibrewal
e92294c587
Remove test/core/census
7 years ago
Yash Tibrewal
34a57d0346
rename all test core files to cc and a lot of C++ style conversions
7 years ago
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.
7 years ago
Yash Tibrewal
af6bb8515f
Disabling large_metadata_bad_client_test as per #11745
7 years ago
yang-g
6bf3184127
Fix bad_client_window_overflow_test at mac
7 years ago
Craig Tiller
a42a22b2be
Update window overflow test
7 years ago
yang-g
b98bf8c165
Make package names consistent under test/core
7 years ago