Commit Graph

1657 Commits

Author SHA1 Message Date
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 a424d96997 clang-format 2018-10-15 14:57:20 -07:00
Mark D. Roth f4e65787b6 Merge remote-tracking branch 'upstream/master' into health_checking_service 2018-10-15 13:12:26 -07:00
Mark D. Roth 0b085a1f05 Fix tsan problem at startup. 2018-10-15 13:11:55 -07:00
ncteisen 0b0f21b3d2 C++ Channelz GetServerSockets Support 2018-10-09 12:07:13 -07:00
ncteisen 9b0223f1c5 Add skeleton listen socket support 2018-10-09 12:06:46 -07:00
Stanley Cheung e5ce1e36e6 Regenerate projects 2018-10-08 15:50:50 -07:00
easy f551f475f0 GenerateServerContext: Don't use a parent context if it's invalid. 2018-10-08 20:43:06 +11:00
Yash Tibrewal 130eeeaeb9 Merge branch 'master' into interceptors_initial 2018-10-02 14:49:17 -07:00
Yash Tibrewal 1d999617e2 Add experimental versions with interceptors for create channel from fd and inproc channel 2018-09-30 22:13:44 -07:00
Yash Tibrewal b741edf37e Error fixes 2018-09-27 17:34:19 -07:00
Noah Eisen a9f8bcce11
Merge pull request #16725 from ncteisen/channelz-cpp
Channelz++ Part 4: Socket support
2018-09-27 14:13:17 -07:00
ncteisen 038e760a7d Channelz C++ Socket support 2018-09-27 14:20:57 -05:00
Soheil Hassas Yeganeh 80ce1865d7 Make SliceFromArray() static in channel_cc.cc.
Also, use `context->authority_` instead of `context->authority()`
for consistency.
2018-09-27 11:27:15 -04:00
Yash Tibrewal a1598c5abf Create interfaces and initial plumbing for interception API 2018-09-26 19:25:30 -07:00
Mark D. Roth 4d9ad11653 Simplify call state logic, create non-polling CQ, and some cleanup. 2018-09-26 14:16:18 -07:00
Soheil Hassas Yeganeh 369cfe118c Use SliceFromCopiedString() for host name.
This is to address Yang's review comment.
2018-09-25 21:59:15 -04:00
Soheil Hassas Yeganeh c1a1d66864 Avoid allocating temporary strings in Channel::CreateCall().
Add `SliceFromArray()` which takes a `char*` instead of
`const string&`, to save string allocations for copying from a `char *`.

Use the new API to eliminate two string allocations and copies per call for
method and host names.

release-note: no
2018-09-25 17:50:45 -04: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 9e6511ae2e Make the core callback interface API so that it can be used in generated code 2018-09-19 23:57:56 -07:00
Vijay Pai f6e7b778c4
Merge pull request #16655 from vjpai/callback_tidy
Callback API: Fix clang-tidy concerns
2018-09-19 12:58:02 -07:00
Vijay Pai 46429a2a6a
Merge pull request #16624 from vjpai/callback_alarms
EXPERIMENTAL: Add callback-based alarms
2018-09-19 12:06:11 -07:00
Vijay Pai deb3126611 Fix clang-tidy concerns 2018-09-19 11:29:11 -07:00
Vijay Pai 0e5b2a7946
Merge pull request #16638 from vjpai/callback_exceptions
EXPERIMENTAL: Catch exceptions in user callbacks
2018-09-18 11:09:11 -07:00
Juanli Shen ef60c57dd5
Merge pull request #16459 from arfaian/master
Fix compilation error due to missing absl qualification.
2018-09-17 10:59:55 -07:00
Vijay Pai 73d89a66f9 Catch exceptions in user callbacks 2018-09-14 16:56:19 -07:00
Vijay Pai db01bf793a Add callback-based alarms 2018-09-13 09:54:41 -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 0382d06248 Don't use cq_tag on Server CallOpSet's yet 2018-09-11 23:47:40 -07:00
Noah Eisen 71aa60265c
Merge pull request #16360 from ncteisen/channelz-cpp-server
Channelz++ Part 3: GetServers Support
2018-09-11 12:01:17 -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
ncteisen 6ef3b0dc2b Merge branch 'master' of https://github.com/grpc/grpc into channelz-cpp-server 2018-09-10 14:03:40 -07:00
ncteisen 722bc69966 Merge branch 'master' of https://github.com/grpc/grpc into channelz-server 2018-09-10 12:28:21 -07:00
ncteisen 483537671c Merge branch 'channelz-subchannels' into channelz-cpp 2018-09-08 10:20:00 -07:00
ncteisen 5946ae5eff Merge branch 'channelz-subchannels' into channelz-server 2018-09-08 10:19:26 -07:00
ncteisen 4205b97dd9 reviewer feedback 2018-09-07 16:02:08 -07:00
Mark D. Roth 7975c6ad98 Fix internal build breakage from #16351. 2018-09-05 10:33:38 -07: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 72ac3d0cb1 Merge branch 'channelz-server' into channelz-cpp-server 2018-08-28 17:17:16 -07:00
ncteisen e165579d3e Subchannel support to C++ 2018-08-28 17:16:17 -07:00
ncteisen 743d40d635 Lazily fill metadata map 2018-08-28 17:00:20 -07:00
ncteisen 6076b1d798 Merge branch 'channelz-subchannels' into channelz-server 2018-08-28 12:55:40 -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
Juanli Shen 8ceb27a324 Regenerate projects 2018-08-27 14:27:55 -07:00
Arian Arfaian 99e09fe821 Fix compilation error due to missing absl qualification. 2018-08-25 09:50:58 -07:00
Vijay Pai ccc6ee3db0
Merge pull request #15984 from g-easy/hdrs
Move GetSpanFromServerContext() to public header.
2018-08-20 17:03:03 -07:00
Vijay Pai 472b9327c0
Merge pull request #16374 from vjpai/census
Move a census file from src/cpp to src/core since core depends on it
2018-08-17 16:38:33 -07:00
Yash Tibrewal b22c3009d4 Fix typo 2018-08-16 18:15:26 -07:00
Yash Tibrewal d9f4c76356 Add a nullptr check 2018-08-16 16:26:42 -07:00
Vijay Pai 381bcab8bd Move a file from src/cpp to src/core since core depends on it 2018-08-16 15:44:19 -07:00
Yang Gao b840d5e45c
Revert "Add more filter priority levels" 2018-08-16 08:58:26 -07:00
Vijay Pai 8a86f5329e
Merge pull request #16356 from vjpai/exhaustion
C++ sync server: Return status RESOURCE_EXHAUSTED if no thread quota available
2018-08-15 19:52:23 -07:00
Vijay Pai 9c32dab63d Expand comment based on reviewer feedback 2018-08-15 14:46:51 -07:00
ncteisen 70ef911343 Add C++ support for GetServers 2018-08-15 12:05:58 -07:00
ncteisen 408f64c3a1 Merge branch 'channelz-server' into channelz-cpp-server 2018-08-15 11:11:57 -07:00
ncteisen f3c600f335 Fix up C++ test to be more stable 2018-08-15 10:56:32 -07:00
Vijay Pai d9781df474 Address reviewer comments 2018-08-15 10:13:22 -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
ncteisen 6321a53e4a fix typo 2018-08-14 15:01:28 -07:00
ncteisen f025b6ed89 Change thread default to INT_MAX 2018-08-14 14:42:00 -07:00
ncteisen 0bf39e2a13 Subchannel support to C++ 2018-08-13 13:56:36 -07:00
Sree Kuchibhotla f63b51be86 Merge branch 'master' into rq-threads-2 2018-08-09 12:13:41 -07:00
Junhao Li 5cb99c9592
fix format 2018-08-09 00:51:17 -04:00
Junhao Li b9decfb35d
include cmath to fix gcc8 compilation error
This fix resolves the following compilation error on GCC8.1.1:

ERROR: /home/junhao/tools/grpc/BUILD:1350:1: C++ compilation of rule '//:grpcpp_server_load_reporting' failed (Exit 1)
src/cpp/server/load_reporter/util.cc:31:12: error: no member named 'isnormal' in namespace 'std'
  if (std::isnormal(cost_value)) {
      ~~~~~^
1 error generated.
2018-08-08 14:31:52 -07:00
Mark D. Roth 60069baa6a
Merge pull request #16225 from markdroth/reset_connection_backoff
Reset connection backoff
2018-08-07 08:09:59 -07:00
Mark D. Roth f7e72560b6 Add experimental API for resetting connection backoff. 2018-08-06 14:46:53 -07:00
Sree Kuchibhotla a2a64e5ad3 Fix default argument(put it in header instead of source file) 2018-08-06 11:58:20 -07:00
Sree Kuchibhotla 9ce673f861 Make resource quota argument optional to the Server constructor 2018-08-01 12:12:46 -07:00
Sree Kuchibhotla bdd13cb0ae
Revert "Revert "Restrict the number of threads in C++ sync server"" 2018-08-01 11:22:40 -07:00
yang-g d6ef707422 Add more filter priority levels 2018-08-01 11:22:32 -07:00
Nicolas Noble bea98c3c1b
Revert "Restrict the number of threads in C++ sync server" 2018-07-31 21:12:45 -07:00
Sree Kuchibhotla 9b84d7fe21 Merge branch 'master' into rq-threads 2018-07-30 10:09:47 -07:00
Sree Kuchibhotla 6eac5e41b1 std::max is not available on some windows platforms 2018-07-27 17:23:02 -07:00
Sree Kuchibhotla c2a22a1ab8 Address core review comments 2018-07-27 16:19:03 -07:00
Sree Kuchibhotla 8f39834dd1 Change the default max threads to something more reasonable 2018-07-25 10:36:46 -07:00
Sree Kuchibhotla 404d4f3a4d Merge branch 'master' into rq-threads 2018-07-24 16:37:42 -07:00
Sree Kuchibhotla b95772eeb9 Add Tests in Core and C++ and fix a few related bugs in thread_manager.cc 2018-07-24 16:35:25 -07:00
Yihua Zhang acc6ba0c24 Add C++ wrapper for local credentials 2018-07-24 12:00:49 -07:00
Srini Polavarapu 29c9e0477b
Merge pull request #16067 from srini100/master
Bump version to v1.15.0-dev
2018-07-23 12:41:16 -07:00
Sree Kuchibhotla 7b8be4d6fd Merge branch 'master' into rq-threads 2018-07-23 10:52:27 -07:00
Sree Kuchibhotla ec1c112cc1 Each ThreadManager is a resource user 2018-07-20 15:10:16 -07:00
ncteisen 18a9d7d57c reviewer feedback 2018-07-20 09:29:05 -07:00
ncteisen b47214952b reviewer feedback 2018-07-19 15:19:43 -07:00
ncteisen 6104e4f33b Move ChannelzServicePlugin to public, experimental 2018-07-19 14:59:10 -07:00
Srini Polavarapu 8c9af7464c Regenerate projects 2018-07-19 09:52:56 -07:00
ncteisen c194528844 Adds C++ Channelz Service 2018-07-18 18:24:19 -07:00
Sree Kuchibhotla 67bb4e3030 Initial scaffolding 2018-07-17 10:25:33 -07:00
Juanli Shen be40b0d3a8 Add server load reporting service 2018-07-13 19:52:59 -07:00
easy 1b6e8514a9 Move GetSpanFromServerContext() to public header. 2018-07-11 14:55:46 +10:00
Juanli Shen 86aa172d9b
Merge pull request #15919 from AspirinSJL/reorder
Reorder steps in ServerBuilder::BuildAndStart()
2018-07-06 22:08:34 -07:00
Juanli Shen 1f965159dd Reorder steps when starting a server 2018-06-30 22:54:42 -07:00
Kerrick Staley 4fb53784fb
Fix Bazel build instructions
See https://groups.google.com/d/msg/grpc-io/ljBk9Z_QyuQ/3i-obzb3CAAJ
2018-06-25 08:56:19 -07:00
Juanli Shen f5f1d57d7a Add load reporting filter 2018-06-22 10:00:48 -07:00
Juanli Shen 291bbc7014 Add load reporter 2018-06-21 13:21:02 -07:00
Jan Tattermusch f389e5267a overhaul of top-level .md files 2018-06-20 20:35:04 +02:00
Vizerai c0d251a10e Fixing trailing metadata ops. 2018-06-19 16:21:26 -07:00
Mark D. Roth 9e3e64604d
Merge pull request #15274 from JackOfMostTrades/verify-callback-core
Create verify_peer_options when creating ssl credentials to support a peer verification callback
2018-06-19 10:00:16 -07:00
Jim King 01cbab60f3
Merge pull request #15070 from Vizerai/filter_port
Adding opencensus grpc plugin with bazel support.
2018-06-18 17:01:26 -07:00
Noah Eisen bd6ac0f9d5
Merge pull request #15681 from ncteisen/even-more-clang
Even More Clang Tidy: performance-*
2018-06-15 10:43:49 -04:00
Srini Polavarapu d6616280d3
Merge pull request #15694 from srini100/bump-to-v1.14
Bump master to v1.14
2018-06-14 19:57:13 -07:00
Noah Eisen 58e0cbf9fb Enable the performance-* clang-tidy checks 2018-06-14 14:58:09 -04: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
David Garcia Quintas 32c04931db Merge branch 'master' of github.com:grpc/grpc into nanopb_build_cleanup 2018-06-11 15:52:42 -07:00
Srini Polavarapu c79c156307 Regenrate projects 2018-06-08 17:01:18 -07:00
Yash Tibrewal bbbcc451df
Merge pull request #15394 from yashykt/maxmsglen
Allow unlimited as the max receive message length
2018-06-07 19:16:05 -07:00
Yash Tibrewal 3052cff753 Change comments 2018-06-07 14:03:00 -07:00
David Garcia Quintas bc9573d7ac back to using quotes for nanopb includes 2018-06-04 13:49:03 -07:00
David Garcia Quintas 087fe278ed quotes to angle brackets for nanopb includes 2018-06-01 16:09:42 -07:00
David Garcia Quintas 73dec497af clang-format 2018-06-01 15:53:35 -07:00
David Garcia Quintas 00e045dbb2 Fix the inclusion "third_party/nanopb/..." to simply "..." 2018-06-01 15:44:03 -07:00
Vizerai e501a3d3fd Merge branch 'master' of https://github.com/Vizerai/grpc into filter_port 2018-05-29 10:45:32 -07:00
Vizerai cb2767143c update 2018-05-24 22:39:23 -07:00
Ara Ayvazyan 8d06d097bc Fix broken ByteBuffer copy ctor 2018-05-22 20:47:35 -07:00
Vizerai 60086793e0 update 2018-05-22 16:03:16 -07:00
Yash Tibrewal efee8f227d Allow unlimited as the max receive message length 2018-05-15 16:39:16 -07:00
Vizerai 41e4cedb70 Adding opencensus grpc plugin.
Rebasing to merge commits.
2018-05-10 11:41:15 -07:00
Mehrdad Afshari 2d43a45ad1 Regenerate projects 2018-05-02 22:49:52 -07:00
Juanli Shen a0aab7ebcc Add load data store 2018-05-01 10:46:44 -07:00
Yihua Zhang fe2fa0c1c8 Add C++ experimental API extensions for ALTS C stack 2018-04-16 15:11:32 -07:00
Noah Eisen 52d4c7c8b6 Ensure lib is initialize for ByteBuffer use 2018-04-06 12:42:33 -07:00
ncteisen cf5b2666e1 Make GrpcProtoBufferReaderWriter public 2018-04-06 07:05:27 -07:00
Mehrdad Afshari 90cfc8ed57 Regenerate projects 2018-04-04 14:04:11 -07:00
Vijay Pai a4da2d2a54 Eliminate existence of SneakyCallOpSet, some server cleanup 2018-03-22 19:09:01 -07:00
Nicolas Noble 129f38a8a5
Merge pull request #14517 from makdharma/extensible_api
Remove "final" keyword and make methods protected.
2018-03-13 09:58:59 -07:00
makdharma 606742d30c replaced loop with range expression 2018-03-12 14:30:51 -07:00
makdharma d10a885922 removed unnecessary "virtual"
Removed unnecessary "virtual" keyword from CompletionQueue::Next.
Reverted two files that no longer need to be changed.
2018-03-12 10:12:01 -07:00
Mark D. Roth 3d8b32d8b3 Convert byte_stream API to C++. 2018-03-09 13:25:40 -08:00
makdharma 9cd0099a53 variable init sequence fix 2018-03-09 09:42:22 -08:00
Vijay Pai 02b64f5c91 Fix a thread name 2018-03-06 10:00:30 -08:00
Vijay Pai 809cf96c56 Name needs to only be alphanumeric+underscore+dash 2018-03-05 23:04:57 -08:00
Vijay Pai 7fed69b7ad Use static_cast rather than reinterpret_cast whenever possible 2018-03-05 16:35:10 -08:00
Vijay Pai 162ae4f50c
Remove std::thread, keep everything else unchanged (#13) 2018-03-02 16:16:04 -08:00
makdharma e1a7283dd3 moved Next implementation to CC file. 2018-02-26 14:55:56 -08:00
Vijay Pai 8b05d0284f Merge branch 'master' into 2phase_thd 2018-02-24 10:37:13 -06: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
Mehrdad Afshari 9073ea03ef Regenerate projects 2018-02-22 22:21:33 -08:00
Vijay Pai a8453a20d8 Merge branch 'master' into 2phase_thd 2018-02-21 10:24:15 -08:00
Muxi Yan 9614395928 Fix grpc++->grpcpp leftover files 2018-02-20 21:10:18 -08: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
Muxi Yan 0e00c43082 Move headers from grpc++ to grpcpp 2018-02-15 14:49:34 -08:00
Vijay Pai c745690caf Internalize gpr_thd except for id and currentid 2018-02-12 11:44:52 -08:00
Srini Polavarapu c7cc3f9692
Merge pull request #14394 from srini100/master
Remove redundant build instructions
2018-02-10 19:41:00 -08:00
Srini Polavarapu 89f70d163b Merge branch 'master' of https://github.com/grpc/grpc into docfix 2018-02-09 10:10:14 -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
Srini Polavarapu 3cca82534d Consolidate build instructions in INSTALL.md and src/cpp/README.md 2018-02-08 11:53:35 -08:00
Vijay Pai 239b7d4b0b Merge branch 'master' into gpr_review 2018-02-08 11:08:41 -08:00
Vijay Pai 73a50abd1d
Merge pull request #14286 from dgquintas/fix_compresion_alg_accessors
Fix compression algorithm accessors
2018-02-04 23:39:07 -08:00
Vijay Pai d4d0a30c6f Privatize useful.h and avl.h 2018-02-02 09:16:44 -08:00
David Garcia Quintas a21ab2ba29 Fix compression algorithm accessors 2018-02-01 16:24:00 -08:00
Vijay Pai fe75ef5b2d clang-format 2018-01-21 21:04:38 -08:00
Vijay Pai e1e7042919 Restructure to simplify, harden, and avoid forward declaration 2018-01-21 21:04:38 -08:00
Vijay Pai 2b226adf60 Remove alarm from core, implement in C++ layer only 2018-01-21 21:03:56 -08:00
Mehrdad Afshari 43884047c9 Regenerate projects 2018-01-19 14:25:15 -08:00
Mark D. Roth dbdf495f61 Split lib/support into lib/gpr and lib/gpr++. 2018-01-18 11:21:12 -08:00
Jan Tattermusch c9ec2c0888
Revert "Stop using std::thread in C++ library since it can trigger exceptions" 2018-01-12 10:16:22 +01:00
Vijay Pai b4b0ac7049 Resolve leak by freeing request payload if resources exhausted 2018-01-10 14:40:40 -08:00
Vijay Pai 92e267ec50 Add needed header 2018-01-10 18:45:08 +00:00
Vijay Pai 5dd32268be Switch C++ sync server to use gpr_thd rather than std::thread and provide resource exhaustion mechanism 2018-01-08 10:02:38 -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 36522e9f80 Merge master after no Extern C changes 2017-11-30 17:47:36 -08:00
Yash Tibrewal 10f2790f7f Merge branch 'master' into execctx 2017-11-30 10:54:42 -08:00
Yash Tibrewal c354269ba7 Remove _ prefixed variable names 2017-11-29 19:07:44 -08:00
ncteisen aa358d5e43 Merge branch 'master' of https://github.com/grpc/grpc into no-more-extern-c 2017-11-28 14:12:25 -08:00
Mehrdad Afshari 14e96f9ae8 Bump 1.8.0-dev to 1.9.0-dev 2017-11-27 17:14:15 -08:00
ncteisen 61c4d6b648 Fix stats 2017-11-17 14:08:57 -08:00
ncteisen adbfbd5977 Remove all extern C 2017-11-17 14:08:57 -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 4e9265c828 Merge with master 2017-11-09 17:46:29 -08:00
Noah Eisen 9ad6068f66
Merge pull request #13199 from ncteisen/zero-copy
Refactor SerializationTraits
2017-11-07 11:42:24 -08:00
ncteisen f97d2f5b37 Add init/shutdown to codegen interface 2017-11-06 17:49:57 -08:00
Craig Tiller baa14a975e Update clang-format to 5.0 2017-11-03 09:09:36 -07:00
ncteisen 023726202a Refactor SerializationTraits 2017-10-31 13:15:27 -07:00
Yuchen Zeng b16df75471 Update with internal C++ interfaces 2017-10-30 12:09:16 -07:00
Yuchen Zeng 6a48dc544e Remove c++ channel connectivity watcher 2017-10-30 12:06:52 -07:00
Vijay Pai 7a648854e9
Adopt the static factory pattern (#10)
* Switch sync streams from "struct internal" to static factory in namespace internal

* Reduce diff size

* fix friends

* Use static factory pattern for async unary calls

* Use static factories for async streams

* clang-format
2017-10-27 10:22:51 -07:00
Vijay Pai 06e174a088 Separate public and internal C++ interfaces 2017-10-26 14:28:26 -07:00
yang-g 903981adb6 Catch out of order error code 2017-10-25 10:46:35 -07:00
Ken Payson 42bd87e376 Adds gRPC Experimental CQ DoThenAsyncNext lambda API 2017-10-25 09:13:30 -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
Vijay Pai 53cec0fc8f Update create_channel.cc 2017-10-17 06:46:19 -07:00
Krasimir Georgiev 1f42fae4c5 Fix initialization bug in channel creation 2017-10-17 08:38:20 +02:00
Craig Tiller a19a073ebc Workaround bug for a moment 2017-10-13 11:38:37 -07:00
murgatroid99 9887379158 Update version to 1.8.0-dev, update g word to 'generous' 2017-10-02 17:31:33 -07:00
ncteisen 520cc8f555 Fix ClangTidy 2017-09-29 10:37:45 -07:00
Mark D. Roth ede8ed2156 Merge pull request #12374 from markdroth/plugin_credentials_api_fix
Change plugin credentials API to support both sync and async modes
2017-09-29 07:26:50 -07:00
yang-g cfd20c4262 Add CompositeCallCredentials 2017-09-28 22:00:35 -07:00
Mark D. Roth 6456e494a8 Merge remote-tracking branch 'upstream/master' into plugin_credentials_api_fix 2017-09-28 15:16:14 -07:00
Mark D. Roth 61b26f97b0 Code review changes. 2017-09-28 08:40:03 -07:00
Juanli Shen fe40815682 Readd grpclb fallback 2017-09-27 12:27:20 -07:00
Mark D. Roth b4c01f9e29 Merge remote-tracking branch 'upstream/master' into plugin_credentials_api_fix 2017-09-25 12:36:30 -07:00
Vijay Pai 2046d0b3c5 Add unary call mode to GenericStub to allow generic RPC with 1 CQ trip 2017-09-21 22:23:44 -07:00
Vijay Pai a44cffa11f Base the new SerializationTraits API on implicit type conversion rather than SFINAE 2017-09-21 13:12:52 -07:00
Vijay Pai efce6e1e50 Revert "Revert "Allow SerializationTraits to use grpc::ByteBuffer rather than only grpc_byte_buffer"" 2017-09-21 13:12:52 -07:00
Yash Tibrewal 9eb8672bbe Removing deprecated string to char * conversions 2017-09-17 23:55:58 -07:00
Vijay Pai 4b047a3bff Construction of streams shouldn't require triggering async ops 2017-09-14 17:55:13 -07:00
Ken Payson 01e83b55e4 Revert "Add fallback (use backends from resolver if can't reach balancer) to grpclb."
This reverts commit aba0a0a544.
2017-09-13 19:45:07 -07:00
Juanli Shen aba0a0a544 Add fallback (use backends from resolver if can't reach balancer) to grpclb. 2017-09-11 09:22:48 -07:00
Mark D. Roth 0aee498525 Merge remote-tracking branch 'upstream/master' into plugin_credentials_api_fix 2017-09-08 08:01:29 -07:00
Craig Tiller 9e3af382fb Merge github.com:grpc/grpc into stats_histo 2017-09-07 14:47:55 -07:00
Mark D. Roth 8941f607d6 Merge pull request #12369 from markdroth/call_combiner
Second attempt at call combiner PR
2017-09-07 14:43:47 -07:00
Yuchen Zeng b6ef6e9ff5 Merge pull request #12080 from y-zeng/connectivity
Reconnect channels automatically in C++ clients
2017-09-07 12:59:41 -07:00
Mark D. Roth 1ff6ee12cc clang-format 2017-09-06 14:56:18 -07:00
Craig Tiller 3749a6d417 Merge github.com:grpc/grpc into stats_histo 2017-09-06 13:28:22 -07:00
Yang Gao 5314616e24 Merge pull request #12341 from yang-g/extern
Log offending ops and error code before crashing the server
2017-09-05 21:43:48 -07:00
yang-g d3cbd72d5f Make grpc_call_log_batch take const char* 2017-09-05 13:42:35 -07:00
Yuchen Zeng 26b0a34fbe Address review comments 2017-09-05 13:32:44 -07:00
Yuchen Zeng 5150cbd02d Fix timer shutdown process 2017-09-01 23:05:15 -07:00
Mark D. Roth 2caf021772 Change plugin credentials API to support both sync and async modes. 2017-09-01 15:04:13 -07:00
Mark D. Roth 764cf04a13 Revert "Revert "Implement call combiner""
This reverts commit bf19961d0a.
2017-09-01 09:00:06 -07:00
Craig Tiller 2897235609 Expose stats into qps_driver 2017-08-31 15:52:57 -07:00
kpayson64 451b92a754 Merge pull request #12306 from kpayson64/ref_counting_slices
Give ownership of byte buffers to write ops
2017-08-31 12:17:03 -07:00
Mark D. Roth 8d51e8d17e Merge pull request #12331 from markdroth/c++_filter_api_fix
Add recv_message() method to TransportStreamOpBatch class.
2017-08-31 10:05:47 -07:00
yang-g 66e6c23372 Log offending ops and error code before crashing the server 2017-08-30 16:09:36 -07:00
Ken Payson 4754398f81 Clang_format 2017-08-30 08:31:38 -07:00
Mark D. Roth 196fa2e154 Add recv_message() method to TransportStreamOpBatch class. 2017-08-30 07:34:03 -07:00
yang-g dce6fc6a48 Add missing extern C 2017-08-29 21:27:08 -07:00
Mark D. Roth bf19961d0a Revert "Implement call combiner" 2017-08-29 16:59:07 -07:00
Ken Payson 567e0f1eb6 Have write ops take ownership over slices 2017-08-29 09:21:22 -07:00
Yuchen Zeng 4a11ecc076 Add ChannelConnectivityWatcher::Ref()/Unref() 2017-08-25 15:17:45 -07:00
Mark D. Roth 76e264b8df Implement call combiner. 2017-08-25 09:03:33 -07:00
Yuchen Zeng ba23e799dc Sanity fixes 2017-08-24 23:13:09 -07:00
Yuchen Zeng 504be5c693 Privatize ChannelConnectivityWatcher members 2017-08-24 17:47:43 -07:00
Yuchen Zeng ddaef3e325 Remove non-POD global variables 2017-08-24 15:34:52 -07:00
Yuchen Zeng f1d50983ae Document GRPC_DISABLE_CHANNEL_CONNECTIVITY_WATCHER 2017-08-24 12:08:03 -07:00
Yuchen Zeng 33845d08d4 Check env variable 2017-08-24 03:28:51 -07:00
Yuchen Zeng b4481a9a13 Share one monitoring thread between channels 2017-08-24 03:13:42 -07:00
Yuchen Zeng bfb4e06e3c Check connectivity intermittently 2017-08-23 23:47:15 -07:00
Yuchen Zeng 4d88416c11 Remove atm in ChannelConnectivityWatcher 2017-08-23 15:20:01 -07:00
Yuchen Zeng a2e506e8d9 Avoid using timers 2017-08-22 20:46:52 -07:00
Yuchen Zeng 6a6d618034 Prevent watching unsuppoted channels 2017-08-22 18:56:25 -07:00
Yuchen Zeng 2411bacd04 Address review comments 2017-08-22 18:56:25 -07:00
Yuchen Zeng ee3e3310bb Add reconnect channel tests 2017-08-22 18:56:25 -07:00
Yuchen Zeng be9b814240 Add ChannelConnectivityWatcher 2017-08-22 18:56:25 -07:00
David Garcia Quintas 713597f1cd Master version bump to 1.7.x 2017-08-16 20:59:05 -07:00
Sree Kuchibhotla 419b617a95 Fix thread avalances in thread manager 2017-08-09 20:40:24 -07:00
Vijay Pai ce58cf8c44 Add Slice constructors to match all grpc_slice cases 2017-08-04 07:48:48 -07:00
Garret Kelly 9663d0337e Add a GrpcLibraryInitializer to client_context.cc
It's feasible that a program be written/linked such that it only use
ClientContext from grpc++, which could end up with the other instances
of GrpcLibraryInitializer not ending up in the final binary.  Add a
GrpcLibraryInitializer to client_context.cc to ensure that the library
is initialized.  The primary side-effect of the library not being
initialized when only using a ClientContext is that the destructor for
ClientContext indirectly ends up trying to call through
g_core_codegen_interface when destructing its metadata, which is null.
2017-07-31 15:07:59 -04:00
yang-g 097cbfc94f Resolve comments 2017-07-28 12:51:50 -07:00
yang-g 0eaf7debd2 Allow adding events to cq after shutdown is called. 2017-07-28 12:49:40 -07:00
Vijay Pai 6abd20020b Revert "Separate internal-only and public parts of C++ API" 2017-07-25 00:43:30 -07:00
Noah Eisen 5079182938 Merge pull request #11693 from ncteisen/refactor-thread-pool
Make CreateThreadPool Settable
2017-07-21 09:27:00 -07:00
ncteisen 139072ff92 Const correct and clang 2017-07-19 08:17:58 -07:00
ncteisen eb70b9e0df Anon namespace over static 2017-07-18 17:06:09 -07:00
ncteisen a5d557b96d Rename function to avoud future clash 2017-07-18 17:06:09 -07:00
ncteisen 30939f8854 Make CreateThreadPool settable 2017-07-18 17:06:09 -07:00
ncteisen 85fac6df57 Quiet down server builder 2017-07-18 17:05:28 -07:00
Vijay Pai e5ba80b507 Merge pull request #11870 from vjpai/slice
Add idiomatic C++ API for grpc::Slice construction
2017-07-18 14:10:13 -07:00
Mark D. Roth 65d447f2c3 Merge pull request #11454 from markdroth/server_cq_ok_semantics
Do not return calls on server when request proto fails to deserialize.
2017-07-18 12:19:45 -07:00
Vijay Pai 0f95fa4909 Add idiomatic C++ API for grpc::Slice construction that doesn't
require using grpc_slice
2017-07-18 11:07:43 -07:00
Craig Tiller d996379030 Reset OWNERS state 2017-07-17 10:54:07 -07:00
David G. Quintas ee3fddb6fb Merge pull request #11837 from dgquintas/thread_manager_join
Put thread creation and join under lock
2017-07-17 08:37:40 -07:00
Vijay Pai fd82a6cb4f Merge pull request #11145 from vjpai/inproc3
In-process transport
2017-07-15 20:05:26 -07:00
David Garcia Quintas aef267b71e Put thread creation and join under lock 2017-07-14 19:02:53 -07:00
Vijay Pai 3d7d5f4ed2 Create inproc transport, add relevant tests, exclude irrelevant tests 2017-07-14 16:23:54 -07:00
Mark D. Roth 0696611fb5 Do not return calls on server when request proto fails to deserialize. 2017-07-14 07:18:39 -07:00
Craig Tiller 41690d1ad8 Detach ownership of core/c++ 2017-07-13 16:16:13 -07:00
Craig Tiller e476f7d33f Strawman OWNERS --> CODEOWNERS script 2017-07-13 08:52:00 -07:00
Mehrdad Afshari 2ca8282846 Merge pull request #11738 from mehrdada/canonica-urls
Use https://grpc.io consistently as the canonical URL
2017-07-11 11:41:14 -07:00
Vijay Pai 5e3699493d Merge pull request #11572 from vjpai/internalize
Separate internal-only and public parts of C++ API
2017-07-10 23:22:19 -07:00
Mehrdad Afshari bb3d95b643 Use https://grpc.io consistently as the canonical URL 2017-07-10 22:24:28 +00:00
Mehrdad Afshari 976eb7c4b4 Fetch grpc.io/release over https 2017-07-10 15:07:33 -07:00
Vijay Pai c0baec60a1 Internalize structs and methods meant for being exposed through codegen
or that interface with core and are only for internal use
2017-07-10 14:33:53 -07:00
Noah Eisen 67a40548ca Initialize pending_ops false 2017-07-06 09:34:06 -07:00
Mark D. Roth cc4ef5919f Improvements to C++ filter API:
- Make sure all C-core parameters are passed into C++ methods.
- Add Destroy() methods for ChannelData and CallData.
- Use C++-style casts.
- Add 'extern "C"' to iomgr/closure.h, which is used in C++ filters.
2017-06-29 08:11:57 -07:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
David G. Quintas 672f15fbdd Merge pull request #11143 from dgquintas/dns_server
Make ServerBuilder accept (dns:///) URIs instead of just dns names
2017-06-02 09:55:29 -07:00
David Garcia Quintas aebcdbd732 master bumped to 1.5.x 2017-05-30 14:14:27 -07:00
Yang Gao 725d822743 merge with head 2017-05-22 10:41:17 -07:00
Muxi Yan f6b622c08a Take grpc_workaround_list as parameter 2017-05-17 10:34:10 -07:00
yang-g 21035da1c9 Add api to server builder plugin to modify the builder 2017-05-16 11:42:04 -07:00
Muxi Yan 928681dc3d obsolete -> is obsolete 2017-05-16 10:16:23 -07:00
David Garcia Quintas 94ab1b55bf Make ServerBuilder accept (dns:///) URIs instead of just dns names 2017-05-15 15:27:11 -07:00
Muxi Yan 04f97ca022 Merge branch 'master' into backward-compat-dev 2017-05-12 12:25:43 -07:00
yang-g a044f6d3f5 Propagate deadline to GenericServerContext 2017-05-11 15:37:51 -07:00
Yang Gao 8bab30dc7c Merge pull request #11028 from yang-g/default_hc
Lower the level of a log message to INFO
2017-05-11 09:53:51 -07:00
Muxi Yan f5b3db9c22 Use AddChannelArgument method 2017-05-09 17:12:24 -07:00
Muxi Yan b1a80c751d bug fixes 2017-05-09 16:50:54 -07:00
Muxi Yan cdc0d03b2d Add EnableWorkaround API to enable server workarounds 2017-05-09 16:26:51 -07:00
yang-g f070d4158c Lower the level of a log message to INFO 2017-05-08 15:02:28 -07:00
ncteisen fde16afefa Merge branch 'master' of https://github.com/grpc/grpc into serialization-refactor 2017-05-05 10:27:17 -07:00
ncteisen cc7e17b2d6 Merge branch 'master' of https://github.com/grpc/grpc into serialization-refactor 2017-04-21 08:06:12 -07:00
Craig Tiller 59db187c85 Merge branch 'tsan-c++' into hybrid 2017-04-20 19:24:57 +00:00
Craig Tiller 06a30eef36 Merge github.com:grpc/grpc into cpparena 2017-04-19 14:40:20 -07:00
ncteisen e107b0d439 Add to codegen interface, refactor proto serialization
This change allows for some internal proto serialization
changes to be made
2017-04-19 14:01:13 -07:00
Craig Tiller 3588248554 Merge github.com:grpc/grpc into hybrid 2017-04-19 09:06:45 -07:00
Craig Tiller f659ee5ff1 Move comment 2017-04-18 17:07:16 -07:00
Craig Tiller cac4e178fd Merge github.com:grpc/grpc into cpparena 2017-04-18 13:39:18 -07:00
Craig Tiller a12c0657ef Merge github.com:grpc/grpc into hybrid 2017-04-18 13:23:44 -07:00
Craig Tiller 35f27cd457 More cleanup 2017-04-18 13:14:45 -07:00
Craig Tiller 4818150728 Better commentary 2017-04-18 13:09:54 -07:00
Craig Tiller a3e87894f2 Fix, restore draining 2017-04-18 13:08:08 -07:00
Craig Tiller 991c101de8 Initial thread manager fixes 2017-04-18 19:43:14 +00:00
David G. Quintas a6f64f4c00 Merge pull request #10391 from dgquintas/lr_back_to_md
Load Reporting back to using metadata
2017-04-17 10:36:42 -07:00
Yang Gao c5fc2b7112 Merge pull request #10663 from yang-g/globalcallback
Update ServerGlobalCallback::AddPort api
2017-04-17 09:13:49 -07:00
David Garcia Quintas a818f72c0c Load Reporting back to using metadata 2017-04-15 11:25:48 -07:00
Craig Tiller c3666d7090 Merge github.com:grpc/grpc into hybrid 2017-04-14 13:15:56 -07:00
Craig Tiller 2c6f63731c Merge github.com:grpc/grpc into cpparena 2017-04-14 13:14:10 -07:00
yang-g eafeea48a9 Update ServerGlobalCallback::AddPort api 2017-04-14 12:34:10 -07:00
Craig Tiller 957562780a Merge pull request #10583 from ctiller/server_start
Threading robustness
2017-04-14 08:53:01 -07:00
Sree Kuchibhotla 0e5fa9ebcd Merge branch 'master' into cq_create_api_changes 2017-04-13 18:36:23 -07:00
David Garcia Quintas 9e1acc0796 master to 1.4.0-dev 2017-04-13 16:30:15 -07:00
Craig Tiller 57e6485e2d Merge github.com:grpc/grpc into hybrid 2017-04-13 06:46:27 -07:00
Sree Kuchibhotla aa5a92800f Merge branch 'master' into cq_create_api_changes 2017-04-13 03:13:17 -07:00
Craig Tiller 11c5832b3e Get rid of second api for marking non-listening cqs 2017-04-12 08:21:17 -07:00
Craig Tiller 75bfb97548 Finish hybrid server stuff, ensure it gets tested 2017-04-11 17:55:12 -07:00
Craig Tiller 334c4678a3 Start building out C++ interface 2017-04-11 16:26:07 -07:00
yang-g eceec8eaf6 Add helper function to supply and parse error_details from Status. 2017-04-11 16:07:24 -07:00
Craig Tiller 9d9313cfc6 Threading robustness
Move server startup to a separate thread.
Where there is no opportunity for failure, do not return bool.
2017-04-11 15:05:46 -07:00
Sree Kuchibhotla a6ff103446 Merge branch 'master' into cq_create_api_changes 2017-04-06 13:09:17 -07:00
Craig Tiller d4e9a4863a Convert all async client stream types to not allocate 2017-04-05 15:41:59 -07:00
Craig Tiller fa416cbe3b Dont break codegen barrier 2017-04-05 15:14:30 -07:00
Craig Tiller 41f46ab665 Merge github.com:grpc/grpc into cpparena 2017-04-05 14:05:38 -07:00
Craig Tiller bbcf378192 Merge pull request #10457 from ctiller/fixmsan
Potential msan fix
2017-04-05 07:55:44 -07:00
Craig Tiller 5de46568ce Merge github.com:grpc/grpc into cpparena 2017-04-04 17:08:12 -07:00
Craig Tiller be094fc5e6 Fix compile 2017-04-04 09:31:28 -07:00
Craig Tiller 7a8232d773 review feedback 2017-04-03 10:59:42 -07:00
Craig Tiller f854f2a7b0 Merge github.com:grpc/grpc into new_transport_op 2017-04-03 08:21:40 -07:00
Sree Kuchibhotla c1a32fa46e Merge branch 'master' into cq_create_api_changes 2017-04-01 17:36:15 -07:00
Sree Kuchibhotla 4426800e6c clang format 2017-04-01 17:33:50 -07:00
Sree Kuchibhotla fa71f6f369 Fix ASAN failure 2017-04-01 17:32:34 -07:00
Craig Tiller 5f95f1a4ca Merge github.com:grpc/grpc into cpparena 2017-04-01 07:42:20 -07:00
Craig Tiller 9c54a0c12c Merge pull request #10382 from ctiller/checks
Reinstate filegroup dependency checks, fix fallout
2017-03-31 16:10:35 -07:00
Craig Tiller a0f3abd925 Review feedback: bikeshedding round 2017-03-31 15:42:16 -07:00
Craig Tiller 84a2ac885c Merge github.com:grpc/grpc into new_transport_op 2017-03-31 15:03:39 -07:00
yang-g d510fcfc6d Add ports to global server callback. 2017-03-31 11:00:02 -07:00
Craig Tiller 66051c618f Async end2end test passes 2017-03-31 09:16:35 -07:00
Craig Tiller dd36b15315 Call ref/unref, bugfixes 2017-03-31 08:27:28 -07:00
David G. Quintas d58e74e784 Merge pull request #10381 from dgquintas/remove_lr_from_server_context
Removed wrong LR include from codegen
2017-03-30 14:19:41 -07:00
Sree Kuchibhotla e04906dc54 Merge branch 'master' into cq_create_api_changes 2017-03-30 13:20:00 -07:00
Craig Tiller 1345a85d0d Merge branch 'remove_lr_from_server_context' of github.com:dgquintas/grpc into checks 2017-03-30 10:46:07 -07:00
David Garcia Quintas 55c895a6a4 Removed wrong LR include from codegen 2017-03-30 10:43:14 -07:00
Craig Tiller 29b527fa30 Reinstate one check, fix fall out 2017-03-30 10:27:20 -07:00
Sree Kuchibhotla c86460225b Merge branch 'master' into cq_create_api_changes 2017-03-29 16:18:19 -07:00
Craig Tiller 220861eb56 Merge github.com:grpc/grpc into new_transport_op 2017-03-29 14:08:56 -07:00
Sree Kuchibhotla 5c0ef36679 Add comment 2017-03-29 09:53:48 -07:00
Sree Kuchibhotla ca70796434 Merge branch 'master' into init-free-cq 2017-03-29 09:44:47 -07:00