Commit Graph

534 Commits

Author SHA1 Message Date
Soheil Hassas Yeganeh dbf88dd66f Revert "Revert "Introduce string_view and use it for gpr_split_host_port.""
This reverts commit 80c177d4c4.
2019-06-27 20:56:15 -04:00
jboeuf bd8698e8fd
Merge pull request #19032 from jboeuf/sts_core_creds_pr
Adding support for STS Token Exchange Creds in core:
2019-06-26 16:29:41 -07:00
Soheil Hassas Yeganeh 80c177d4c4
Revert "Introduce string_view and use it for gpr_split_host_port." 2019-06-26 16:22:13 -04:00
Julien Boeuf 189c2c8c30 Adding support for STS Token Exchange Creds in core:
- IETF specification is available here:
https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
2019-06-26 12:48:05 -07:00
Soheil Hassas Yeganeh ef0f9bf7ec Introduce string_view and use it for gpr_split_host_port. 2019-06-20 23:19:34 -04:00
Yihua Zhang a887f35a9b add a new struct - grpc_ssl_verify_peer_options and an API - grpc_ssl_credentials_create_ex. 2019-05-30 16:00:50 -07:00
Karthik Ravi Shankar 196b0aa3a3
Revert "Revert "Start supporting a callback-based RPC under lock"" 2019-05-29 13:15:47 -07:00
Karthik Ravi Shankar b790c24e5c
Revert "Start supporting a callback-based RPC under lock" 2019-05-29 11:20:36 -07:00
Karthik Ravi Shankar 3d258e89ae Fix windows compiler errors 2019-05-22 14:59:33 -07:00
Karthik Ravi Shankar 56ff5a918f Address review comments - 1 2019-05-20 11:35:45 -07:00
Karthik Ravi Shankar 92aa0530fa Changes to locking order 2019-05-17 12:17:16 -07:00
Karthik Ravi Shankar e68316dda5 Fix errors from clang format script 2019-05-14 12:07:05 -07:00
Karthik Ravi Shankar f3911e7ff1 Fix the completion queue tests for the new behavior 2019-04-22 16:43:20 -07:00
Soheil Hassas Yeganeh ad1b3e5094 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()

This commit reaplies 509e77a5a3
2019-03-21 06:03:45 -04: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
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
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 545c555d31 Rename new public API 2019-02-14 14:22:40 -08:00
yang-g 233406d450 generate projects 2019-02-13 11:29:40 -08:00
yang-g bc946d6c6d merge with head and resolve conflicts 2019-02-12 15:00:32 -08:00
Yihua Zhang a3d997cbdc Add a TLS credential surface API (experimental) 2019-01-29 10:04:28 -08:00
Vijay Pai fab05d336c Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks 2019-01-23 11:21:50 -08:00
yang-g df9bd2f506 Merge remote-tracking branch 'upstream/master' into shutdown 2019-01-14 13:19:01 -08:00
Alexander Polcyn 0ec9372074 Multiple test timeout 5x 2019-01-08 14:46:38 -08:00
yang-g 3c8d24ba2c merge with head and resolve conflict 2018-12-19 10:13:41 -08:00
yang-g 038a71d826 Merge remote-tracking branch 'upstream/master' into gpr_test_util_to_grpc_test_util 2018-12-17 08:52:20 -08:00
Soheil Hassas Yeganeh 9decf48632 Move security credentials, connectors, and auth context to C++
This is to use `grpc_core::RefCount` to improve performnace.
This commit also replaces explicit C vtables, with C++ vtable
with its own compile time assertions and performance benefits.
It also makes use of `RefCountedPtr` wherever possible.
2018-12-13 10:38:12 -05:00
yang-g 67742ef63f Fix BUILD files. Manually edit bzl files 2018-12-06 14:37:52 -08:00
yang-g 991963efcc Merge branch 'master' into shutdown 2018-12-05 14:53:06 -08:00
yang-g e75fc243da change tests to use the new class instead of grpc_test_init 2018-11-30 08:57:38 -08:00
yang-g cdd698810b Move grpc_shutdown internals to a detached thread 2018-11-27 14:26:08 -08:00
ncteisen 693f46841a Add GetServer to core 2018-10-24 17:31:30 -07:00
ncteisen 3545d754d5 Channelz get server sockets support 2018-10-02 09:55:00 -07:00
ncteisen 4fcf871806 Merge branch 'master' of https://github.com/grpc/grpc into channelz 2018-09-25 13:37:58 -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
ncteisen 0a650eae58 regenerate projects 2018-09-19 07:41:59 -07:00
ncteisen 6076b1d798 Merge branch 'channelz-subchannels' into channelz-server 2018-08-28 12:55:40 -07:00
ncteisen 4b5b019d56 Merge branch 'master' of https://github.com/grpc/grpc into channelz-subchannels 2018-08-28 12:53:57 -07:00
Eric Gribkoff b59d8674d2 Python post-fork handler: exit if grpc shutdown fails 2018-08-22 13:07:22 -07:00
ncteisen 632b58cb82 regenerate projects 2018-08-15 11:13:41 -07:00
Vijay Pai 4b42288905
Merge pull request #16302 from vjpai/callback_cq
EXPERIMENTAL: Infrastructure for callback-based core CQ
2018-08-14 09:37:58 -07:00
Vijay Pai a59e48e889 Add a test of callback CQ 2018-08-14 02:18:32 -07:00
ncteisen c850354423 Merge branch 'master' of https://github.com/grpc/grpc into channelz-subchannels 2018-08-11 21:19:14 -04:00
Vijay Pai e84096bbe5 Experimental infrastructure for callback-based CQ 2018-08-10 14:33:22 -07:00
Sree Kuchibhotla f63b51be86 Merge branch 'master' into rq-threads-2 2018-08-09 12:13:41 -07:00
Mark D. Roth f7e72560b6 Add experimental API for resetting connection backoff. 2018-08-06 14:46:53 -07:00
Sree Kuchibhotla bdd13cb0ae
Revert "Revert "Restrict the number of threads in C++ sync server"" 2018-08-01 11:22:40 -07:00
Nicolas Noble bea98c3c1b
Revert "Restrict the number of threads in C++ sync server" 2018-07-31 21:12:45 -07:00
ncteisen 864e68e96d Fix channel trace polymorphism 2018-07-27 02:27:58 -07:00