Commit Graph

564 Commits

Author SHA1 Message Date
Garret Kelly 0cd689202d Remove extraneous semicolons.
Fixes compilation if building with -Wextra-semi.
2017-06-07 14:56:06 -04:00
yang-g 63610c4740 Update comments to discourage having an OK status with error_message 2017-06-02 16:30:54 -07:00
Nicolas "Pixel" Noble 7bc55fdaa3 Merge remote-tracking branch 'ctiller/build-wtf' into import 2017-05-26 00:32:47 +02:00
Yang Gao 0a94f3c8ab Merge pull request #11158 from yang-g/async_default_service
Add api to server builder plugin to modify the builder
2017-05-23 13:53:44 -07:00
Mark D. Roth 34011f19ed Merge pull request #11246 from markdroth/doc_fixes
More Doxygen comment improvements.
2017-05-23 09:20:39 -07:00
Yang Gao 725d822743 merge with head 2017-05-22 10:41:17 -07:00
Craig Tiller 840931eec9 More import fixes 2017-05-19 15:37:45 -07:00
Mark D. Roth 127fdaeace More Doxygen comment improvements. 2017-05-19 13:16:13 -07:00
Mehrdad Afshari a64ea5496d Corrected spelling 2017-05-17 23:16:48 -07:00
apolcyn 5d0b1aeade Merge pull request #10992 from apolcyn/doxygen_cpp_nits
Doxygen cpp nits
2017-05-17 22:45:27 -07:00
yang-g 21035da1c9 Add api to server builder plugin to modify the builder 2017-05-16 11:42:04 -07:00
Alexander Polcyn 16153d11f8 address comments, description changes 2017-05-15 09:48:49 -07:00
Alexander Polcyn bb2c338924 format changes, address comments 2017-05-11 15:15:29 -07:00
Alexander Polcyn d6ba5ecc34 fix bad line breaks and lengths 2017-05-10 16:21:56 -07:00
Alexander Polcyn 41ff2e1ee6 address comments, format changes 2017-05-10 15:39:58 -07:00
ncteisen 22dbd73b43 Add static assert to enforce subtype invariant 2017-05-10 09:16:22 -07:00
Alexander Polcyn 0f02908e67 address comments 2017-05-09 14:28:58 -07:00
Alexander Polcyn d809a15ec4 cpp doc nits 2017-05-05 11:02:07 -07:00
ncteisen fde16afefa Merge branch 'master' of https://github.com/grpc/grpc into serialization-refactor 2017-05-05 10:27:17 -07:00
Vijay Pai 611e7e78de Reintroduce a lambda capture as part of C++11-izing code 2017-05-01 15:09:30 -07:00
David Garcia Quintas 97106a7ef2 Removed 3rd party dep on thrift 2017-04-28 13:11:11 -07:00
Craig Tiller 017b452b7b Use larger block size in proto write 2017-04-26 07:55:38 -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 50f7e1aa84 Merge github.com:grpc/grpc into hybrid 2017-04-21 06:38:04 -07:00
Craig Tiller f5a1b75065 Merge pull request #10761 from ctiller/ubsan
Fix ubsan reported failure
2017-04-20 15:03:36 -07:00
Craig Tiller 59db187c85 Merge branch 'tsan-c++' into hybrid 2017-04-20 19:24:57 +00:00
Craig Tiller 56bbe02ca1 Fix ubsan reported failure 2017-04-20 08:37:36 -07: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
yang-g 6bc701659c Remove status_helper as it is not needed any more 2017-04-18 10:36:36 -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
Craig Tiller 957562780a Merge pull request #10583 from ctiller/server_start
Threading robustness
2017-04-14 08:53:01 -07:00
Craig Tiller a103f7bbdf update comments 2017-04-13 09:25:44 -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 c20fa90c60 Merge github.com:grpc/grpc into cpparena 2017-04-12 06:44:00 -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 f2b949b94a Merge branch 'master' into cq_create_api_changes 2017-04-10 13:35:50 -07:00
yang-g f4c8addded support C++ error_details 2017-04-07 15:52:16 -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 be094fc5e6 Fix compile 2017-04-04 09:31:28 -07:00
Craig Tiller e3b5921559 Potential msan fix 2017-04-04 09:28:54 -07:00
Sree Kuchibhotla 3f182df7de Fix C asan error and check_sources_and_headers.py 2017-04-02 03:44:43 -07:00
Sree Kuchibhotla c1a32fa46e Merge branch 'master' into cq_create_api_changes 2017-04-01 17:36:15 -07:00
Sree Kuchibhotla fa71f6f369 Fix ASAN failure 2017-04-01 17:32:34 -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
Craig Tiller 547631eaf8 Merge github.com:grpc/grpc into cpparena 2017-03-31 07:50:01 -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
David Garcia Quintas 55c895a6a4 Removed wrong LR include from codegen 2017-03-30 10:43:14 -07:00
Sree Kuchibhotla ef8e00230e Do not call grpc_init() for per-call-completion-queues created by a C++
synchronous server
2017-03-28 18:11:09 -07:00
Sree Kuchibhotla 2c614a7a7b clang 2017-03-28 12:54:20 -07:00
Sree Kuchibhotla 14ab588166 Merge branch 'master' into cq_create_api_changes 2017-03-28 12:37:00 -07:00
Yuxuan Li e5ddd4b906 change EnsureInitialMetadataSent to use template 2017-03-27 13:25:33 -07:00
Sree Kuchibhotla 74f419fe74 undo prev change 2017-03-24 15:11:06 -07:00
Sree Kuchibhotla 057230b0cd Minor bug 2017-03-24 15:03:55 -07:00
Sree Kuchibhotla 5bec133ba0 clang format 2017-03-24 10:03:22 -07:00
Sree Kuchibhotla f2c32150ef Update C++ code 2017-03-22 03:01:24 -07:00
Sree Kuchibhotla 36c370793b Merge branch 'master' into cq_create_api_changes 2017-03-21 10:28:40 -07:00
Vijay Pai 60a41907a0 Remove delete assertion on base class and change to full fetch-add 2017-03-21 09:39:11 -07:00
Yuxuan Li 8d00f52d5b fix EnsureInitialMetadataSent type casting 2017-03-20 12:35:38 -07:00
Yuxuan Li 0574b58869 merge master and fix conflict on bm_fullstack 2017-03-20 12:19:34 -07:00
Yuxuan Li b39eeac79e merge init_ops, writes_done_ops and write_ops 2017-03-20 12:00:34 -07:00
Vijay Pai 379be59d0a Pour one out for shared ptr 2017-03-17 21:05:41 -07:00
Craig Tiller 5845091432 [EXPERIMENTAL] allocate unary response writer against call arena 2017-03-16 09:42:43 -07:00
Yuxuan Li 0aac9d06e2 change last_message bit to be in C++ layer only 2017-03-10 14:34:59 -08:00
Yuxuan Li bdc76ab37b bug fix 2017-03-08 10:59:31 -08:00
Yuxuan Li 34894e4b1c Implemented stream coalescing design
(RFC:https://github.com/grpc/proposal/pull/3). Add necessary
microbenchmarks to show reduced writes/iter for short streams. Add
necessary end2end test to test out newly added apis. Filter those tests
using *WithCoalescingApi*.
2017-03-08 10:59:31 -08:00
Craig Tiller 4751c28b0b Add channel arguments to server builder 2017-03-08 09:03:12 -08:00
Sree Kuchibhotla 1dbd981cf8 Prefix grpc_cq_polling_type enums with GRPC_CQ_ 2017-03-03 14:27:44 -08:00
Sree Kuchibhotla 9f71b17707 Fix clang formatting issues 2017-03-03 12:54:58 -08:00
Sree Kuchibhotla 982a6f2b1c C++ code changes in response to grpc_completion_queue_create() API change 2017-03-03 02:19:31 -08:00
yang-g c42d844d27 Let ServerContext own the initial_metadata array for sync calls 2017-02-22 23:04:06 -08:00
yang-g f07ed45439 Restore the NextMessageSize for streamed calls 2017-02-16 23:01:28 -08:00
David Garcia Quintas f31f096274 Use call context to propagare LR costs 2017-02-13 16:26:00 -08:00
Harvey Tuch 5f3cfe960f Fix read from uninitialized memory bug in GrpcBufferWriter.
This commit fixes an issue in which the following sequence of operations
leads to use of uninitialized memory:

1. Caller invokes GrpcBufferWriter::Next(), and then makes use of 8191
   bytes in the returned buffer (which is 8192 bytes in size).

2. Caller then returns the unused single byte via
   GrpcBufferWriter::BackUp(). This method invokes
   g_core_codegen_interface->grpc_slice_split_tail(), which causes
   backup_slice_ to be a grpc_slice with one byte.

3. At the next invocation of GrpcBufferWriter::Next(), a reference to
   the single byte grpc_slice is returned to the caller.

The problem here is that the returned reference is to the inlined buffer
in the grpc_slice, which is resident in slice_, not the location of the
buffer inside slice_buffer_ after
g_core_codegen_interface->grpc_slice_buffer_add() in
GrpcBufferWriter::Next(). As a result, any data the caller writes to the
returned void* data is lost.

The solution is to avoid inlined backup slices.
2017-02-07 15:45:44 -05:00
Craig Tiller 68bb6a8453 Merge github.com:grpc/grpc into rollfwd 2017-01-27 06:52:13 -08:00
Craig Tiller 4edd56751f Merge github.com:grpc/grpc into maxmsgsz 2017-01-26 13:50:14 -08:00
Craig Tiller afceb2edbd Merge github.com:grpc/grpc into rollfwd 2017-01-26 12:21:28 -08:00
Mark D. Roth 448c1f002c Move parameters for all grpc_op types into their own sub-structs. 2017-01-25 10:44:30 -08:00
Craig Tiller 7c70b6c144 Revert "Revert "Metadata handling rewrite""
This reverts commit 5e01e2ac97.
2017-01-23 07:48:42 -08:00
Craig Tiller 5e01e2ac97 Revert "Metadata handling rewrite" 2017-01-20 18:11:52 -08:00
Craig Tiller da9de8988b Merge github.com:grpc/grpc into maxmsgsz 2017-01-20 15:42:47 -08:00
Craig Tiller b7b7486c4b Merge github.com:grpc/grpc into metadata_filter 2017-01-20 11:31:47 -08:00
Craig Tiller 1d77059e4b Fix integer overflow 2017-01-19 11:44:42 -08:00
Vijay Pai 3cdee02893 Merge branch 'master' into its_compat 2017-01-19 10:42:08 -08:00
Craig Tiller 62f28bfcf0 Remove double-checking of max-message-size in C++ layers 2017-01-19 10:05:13 -08:00
Craig Tiller 81eceb31cc Remove bogus assert 2017-01-12 14:27:01 -08:00
Craig Tiller 0d8e0b138d Merge github.com:grpc/grpc into fix_errors 2017-01-06 13:59:30 -08:00
Craig Tiller e519a03a1f Small improvements to generated documentation 2017-01-06 12:41:21 -08:00
Vijay Pai 0e3f1f1e53 Support compat with old generated PB files 2016-12-13 20:03:53 -08:00
Craig Tiller 78bc54e7d9 Fix stack corruption 2016-12-08 15:19:41 -08:00
Craig Tiller cadabdf1f3 Fix include guards 2016-12-08 14:12:28 -08:00
Craig Tiller f658bf0e1b Start resolving memory issues in C++ metadata 2016-12-08 14:11:47 -08:00
Craig Tiller 385dd9a462 Merge branch 'slice_interning' into metadata_filter 2016-12-06 20:27:38 -08:00
Vijay Pai 6510d47c81 gpr_atm isn't automatically initialized to 0. Thanks Obama. 2016-12-05 14:16:20 -08:00
Vijay Pai bf24dd9e51 clang-format 2016-12-05 13:59:09 -08:00
Vijay Pai cbe1599250 Track requests that could cause other requests to be created, and don't do
a real core shutdown of a CQ until such requests are done
2016-12-05 13:56:29 -08:00
Craig Tiller 73ee7dc559 C++ compiles 2016-11-21 09:12:18 -08:00
Craig Tiller cca7589333 Start moving C++ to slice interfaces 2016-11-21 08:45:38 -08:00
Yuchen Zeng b1f6bf2ec4 Merge pull request #8086 from y-zeng/fix_gprc
Fix misspelled gprc
2016-11-11 15:11:44 -08:00
Craig Tiller 32df467f11 Merge github.com:grpc/grpc into grpc_slice 2016-11-04 08:21:56 -07:00
Vijay Pai 320ed13d3e Deprecate grpc::thread and sync in favor of std::thread,mutex,etc 2016-11-01 17:16:55 -07:00
Vijay Pai 5c41bab92c Remove references to NO_CHRONO option 2016-11-01 16:57:42 -07:00
Vijay Pai e08fe4f41e Remove separate versions of code based on presence of threading in compiler 2016-11-01 16:50:38 -07:00
Vijay Pai 713c7b87e1 clang-format 2016-11-01 16:33:18 -07:00
Vijay Pai c0b2acb1a0 Use C++11 final and override 2016-11-01 16:31:56 -07:00
Vijay Pai 80b292709c Stop supporting non-C++11 conformant compilers 2016-11-01 13:38:40 -07:00
Craig Tiller 41fd9f2343 Merge github.com:grpc/grpc into grpc_slice 2016-10-31 14:42:53 -07:00
Craig Tiller 28b72428a8 clang-format 2016-10-26 21:15:29 -07:00
Craig Tiller 5b676a6b1a Fix include guards 2016-10-26 21:09:29 -07:00
Craig Tiller 618e67d655 s/GPR_SLICE/GRPC_SLICE/g 2016-10-26 21:08:10 -07:00
Craig Tiller d41a4a720f s/gpr_slice/grpc_slice, and move around tests, impls 2016-10-26 16:16:06 -07:00
Sree Kuchibhotla c5fb957e50 Merge branch 'master' into rpc_mgr 2016-10-21 14:38:21 -07:00
Vijay Pai 9243c74868 Merge pull request #8365 from vjpai/fc_1dstream
Support request separation of server-side streamed RPC
2016-10-20 14:31:14 -07:00
Vijay Pai bcc59f425c Remove a useless forward declaration 2016-10-20 11:38:04 -07:00
Sree Kuchibhotla 556aebb1e0 Merge branch 'master' into rpc_mgr 2016-10-18 14:59:24 -07:00
Vijay Pai 9fa9315d62 Merge remote-tracking branch 'upstream/master' into fc_1dstream 2016-10-18 12:15:08 -07:00
Yuchen Zeng 799832c32d Merge remote-tracking branch 'upstream/master' into fix_gprc 2016-10-17 11:41:02 -07:00
yang-g 4287998855 Add a test spouse for server context 2016-10-13 16:45:53 -07:00
Vijay Pai 96e03110db clang-format 2016-10-13 14:09:16 -07:00
Vijay Pai 075b18e77f Bug fix on failure condition 2016-10-13 12:05:40 -07:00
Sree Kuchibhotla e4996d6c43 Merge branch 'master' into rpc_mgr 2016-10-13 11:18:09 -07:00
Vijay Pai 61536a7371 Making split streaming testable 2016-10-13 11:04:57 -07:00
Vijay Pai 22fcbf9663 Merge branch 'master' into fc_1dstream 2016-10-13 09:39:05 -07:00
Sree Kuchibhotla 33382d0f53 Cleanup server_cc.cc 2016-10-03 15:15:49 -07:00
Vijay Pai db5b1cbc94 Add all plumbing and typedef's for controlled server-side streaming 2016-10-03 09:18:46 -07:00
Mark D. Roth a40d471110 Plumb through GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET. 2016-09-29 10:05:50 -07:00
Mark D. Roth 59c9f904bf Rename GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY to
GRPC_INITIAL_METADATA_WAIT_FOR_READY.
Also add a flag to indicate whether wait_for_ready was explicitly set by
the application.
2016-09-28 13:33:21 -07:00
Mark D. Roth 9477724003 Change C++ API to expose wait_for_ready instead of fail_fast. 2016-09-27 13:07:00 -07:00
Yuchen Zeng b8a886754e Merge remote-tracking branch 'upstream/master' into fix_gprc 2016-09-22 10:59:39 -07:00
Mark D. Roth abf03aed93 Merge remote-tracking branch 'upstream/master' into max_send_size_filter 2016-09-16 07:35:37 -07:00
Yang Gao 24869d558a Merge pull request #7996 from yang-g/canonical
Add a helper to get canonical code from status
2016-09-15 15:58:17 -07:00
Yuchen Zeng 66f3a4bbdf Merge remote-tracking branch 'upstream/master' into fix_gprc 2016-09-15 11:21:52 -07:00
Craig Tiller a51f54192a Merge pull request #7559 from dgquintas/codegen_cleanse
Removed references to public APIs from codegen/
2016-09-13 19:40:43 -07:00
Yuchen Zeng 362ac1be0c Fix gprc 2016-09-13 16:01:31 -07:00
Mark D. Roth f5afcd9f65 Merge remote-tracking branch 'upstream/master' into max_send_size_filter 2016-09-13 14:57:50 -07:00
yang-g d558149a5e Add a helper to get canonical code from status 2016-09-09 09:37:33 -07:00
Makarand Dharmapurikar 2b98b77225 add cacheable option to client_context 2016-09-07 14:24:15 -07:00
Mark D. Roth 3ad6188920 Fix a few lingering references to max_message_size. 2016-09-06 13:03:39 -07:00
Mark D. Roth 7bfa1a8343 Merge remote-tracking branch 'upstream/master' into max_send_size_filter 2016-09-06 10:44:32 -07:00
Mark D. Roth 6980362c4e Allow setting max send message size via C++ ServerBuilder API. 2016-09-06 08:15:36 -07:00