Commit Graph

418 Commits

Author SHA1 Message Date
vjpai fcb98a578c Add NextMessageSize method to all readable streams as an upper-bound
on the actual message size.
Rename Size of FCUnary to NextMessageSize for consistency
2016-06-23 13:18:50 -07:00
vjpai a12276932d Add some const 2016-06-23 13:18:19 -07:00
vjpai 7142a91fc9 Fix up service types and method handlers so that FC unary can work properly. 2016-06-23 10:16:00 -07:00
Bill Clarke c072c927a8 Const correctness for ClientContext and ServerContext getters 2016-06-22 17:07:00 -07:00
vjpai ba6597f297 Actually generate code for FC Unary and make it work 2016-06-22 15:49:48 -07:00
vjpai 726561ed06 Initial definition of flow-controlled unary type along with code generation for this type 2016-06-22 11:14:24 -07:00
vjpai bd28936c86 Properly handle reviewer comment re concurrent Read 2016-06-21 18:03:37 -07:00
vjpai ef01edf5b7 Fix review comments 2016-06-21 16:42:08 -07:00
vjpai 1d9b1e9640 Merge branch 'master' into async_stream_doc 2016-06-21 16:32:13 -07:00
vjpai b9df2760ed Add proper documentation of ordering and thread-safety for
streaming (sync and async) APIs
2016-06-17 00:27:00 -07:00
Vijay Pai b9e927afcc Merge branch 'master' into wheezy 2016-06-15 22:57:21 -07:00
Vijay Pai 20bf126da6 clang-format 2016-06-15 22:21:48 -07:00
Vijay Pai a63271c77f Deal with to_string, proper usage of nullptr, and lack of map::emplace 2016-06-15 12:56:38 -07:00
Vijay Pai 06ea541ed9 Provide nullptr->std::function cast 2016-06-15 10:57:50 -07:00
David Garcia Quintas 058c9de8b2 Added to server's shutdown docstrings 2016-06-13 19:04:43 -07:00
Jan Tattermusch 136307756c Merge pull request #6438 from y-zeng/reflection_separate_lib
Proto server reflection
2016-06-13 14:16:06 -07:00
vjpai 97da6473b4 Manual clang-format 2016-06-13 09:56:26 -07:00
Vijay Pai ce350a5925 override->GRPC_OVERRIDE
Remove range-based fors
2016-06-09 17:22:35 -07:00
Jan Tattermusch 1bc2976a0f Merge pull request #6481 from dgquintas/compression_md_level_bis
Allow servers to select compression level via initial MD & overall compression cleanup
2016-06-08 19:17:20 -07:00
Jan Tattermusch b17e25ce94 Merge pull request #6649 from dgquintas/core_codegen_be_public
moved core_codegen from src/cpp/... to include/grpc++/...
2016-06-08 13:16:55 -07:00
Jan Tattermusch 026dfe60a5 Merge pull request #6820 from mdsteele/server-async
Add interfaces for ServerAsyncReader/Writers
2016-06-08 13:11:30 -07:00
Matthew D. Steele 080749e8ba Add interfaces for ServerAsyncReader/Writers 2016-06-08 10:37:23 -04:00
David Garcia Quintas 533add5a87 Merge branch 'master' of github.com:grpc/grpc into compression_md_level_bis 2016-06-07 21:21:27 -07:00
David Garcia Quintas dd385b6a19 Merge branch 'master' of github.com:grpc/grpc into core_codegen_be_public 2016-06-07 18:51:36 -07:00
David Garcia Quintas 30fb536053 PR comments (offline). 2016-06-07 16:24:17 -07:00
Yuchen Zeng d23710787b Merge remote-tracking branch 'upstream/master' into reflection_separate_lib 2016-06-07 15:00:52 -07:00
Jan Tattermusch 570408fd4c Merge pull request #6741 from yang-g/its_ok_to_have_no_read_on_cancelled_call
Let Next set ok=true when receiving error status
2016-06-07 10:54:02 -07:00
yang-g 17487f9a22 Make grpc++ independent of protobuf 2016-06-03 15:21:15 -07:00
David Garcia Quintas 55c08f81cf Merge branch 'master' of github.com:grpc/grpc into compression_md_level_bis 2016-06-03 14:18:01 -07:00
Yuchen Zeng 3623dc5cdd Move protobuf dependencies to config_protobuf.h 2016-06-03 13:41:46 -07:00
yang-g 15759f610e Let Next set ok=true when receiving error status 2016-06-01 11:21:27 -07:00
David Garcia Quintas a20a2ad41b moved core_codegen from src/cpp/... to include/grpc++/... 2016-05-19 11:02:01 -07:00
Craig Tiller 9766f4f424 Merge github.com:grpc/grpc into test_affine 2016-05-18 16:55:35 -07:00
David Garcia Quintas 697a41f682 fixes to grpc++/impl/codegen/call.h 2016-05-18 15:26:42 -07:00
David Garcia Quintas 8f7365021f Merge branch 'master' of github.com:grpc/grpc into compression_md_level_bis 2016-05-18 10:29:57 -07:00
Jan Tattermusch 057a2f8f7c Merge pull request #6445 from yang-g/unique_ptr_reset
Add an explicit base class pointer to avoid potential breakage.
2016-05-18 07:30:06 -07:00
Craig Tiller 1102faffca Merge branch 'connect_first' into test_affine 2016-05-14 13:27:02 -07:00
Craig Tiller f7a670fe6d Merge branch 'server_channel_affinity' of github.com:sreecha/grpc into affine 2016-05-14 13:05:41 -07:00
David Garcia Quintas 0fde7131aa Fixed usage of anon namespace inside .h 2016-05-13 15:13:51 -07:00
Craig Tiller 52237e3a96 clang-format 2016-05-13 14:37:25 -07:00
Craig Tiller 63d24f1c7d Make qps workers connect before even warmup stage begins 2016-05-13 14:36:09 -07:00
David Garcia Quintas d6fb831ce5 Updated codegen/call.h 2016-05-13 11:06:05 -07:00
David Garcia Quintas 48a5ddd00c Merge branch 'master' of github.com:grpc/grpc into compression_md_level_bis 2016-05-12 17:54:58 -07:00
yang-g 73621357ab Merge remote-tracking branch 'upstream/master' into unique_ptr_reset 2016-05-12 14:01:13 -07:00
Jan Tattermusch b85e9d43f0 fix formatting 2016-05-11 10:21:45 -07:00
yang-g b6f853d065 Add comment 2016-05-10 16:47:02 -07:00
Sree Kuchibhotla 8dbe2cb071 Merge branch 'master' into server_channel_affinity 2016-05-10 10:33:25 -07:00
David Garcia Quintas a301eaade8 Allow servers to select compression level via initial MD.
Setting the newly added compression_level field of
grpc_op::send_initial_metadata by a server now has the effect of
applying that compression level for the subsequent call messages leaving
the server. The ultimate meaning of the level depends on the client's
supported compression algorithms.
2016-05-09 14:30:41 -07:00
yang-g 7099d6fed6 Add an explicit base class pointer to avoid potential breakage. 2016-05-05 10:53:50 -07:00
Jan Tattermusch bc2afb065a Merge pull request #6323 from dgquintas/codegen_remove_proto
Moved protos out of core_codegen interface
2016-05-04 19:09:29 -07:00
Sree Kuchibhotla b69251c2f6 Merge branch 'master' into server_channel_affinity 2016-05-03 09:33:13 -07:00
Craig Tiller 4ee1a62723 Stress test fixes
- properly fail a Read() on a stream if we fail to parse a protobuf
- fix an ordering problem with the chttp2 transport global lock, whereby
  a sequence of two operations could be swapped - this resulted in
  slices being returned to the upper layers in the wrong order,
  corrupting data
2016-04-29 16:47:27 -07:00
David Garcia Quintas 1b2db6333d Moved protos out of core_codegen interface 2016-04-27 15:09:11 -07:00
Sree Kuchibhotla 30499760db Merge branch 'master' into server_channel_affinity 2016-04-26 11:27:14 -07:00
Sree Kuchibhotla 01907123f6 generate_projects.sh and fix copyright year 2016-04-21 15:09:13 -07:00
Sree Kuchibhotla 1f5e262589 Add the option of adding a non-listening server completion queue. This makes writing certain test cases (like hybrid_end2end tests) easier 2016-04-21 12:28:15 -07:00
Craig Tiller 788a25365d Fix dependencies 2016-04-12 17:13:43 -07:00
Craig Tiller 666a362a66 clang-fmt 2016-04-12 13:46:30 -07:00
Craig Tiller 3ab2fe0094 Rollup of changes from the latest import 2016-04-11 20:11:18 -07:00
Craig Tiller 08eb0d6752 clang-format 2016-04-01 12:59:17 -07:00
Craig Tiller c954f59c2e Fix missing arg 2016-04-01 12:35:32 -07:00
Craig Tiller 399b3c42de Fix client_crash_test, implement idempotency, fail_fast for C++ 2016-04-01 12:24:18 -07:00
Craig Tiller 6169d5f7b0 Update copyrights 2016-03-31 07:46:18 -07:00
Craig Tiller f40df23eeb Auto-changes 2016-03-25 13:38:14 -07:00
David Garcia Quintas c14f1cbe9a new fixed guards 2016-03-18 10:14:27 -07:00
David Garcia Quintas 185768b702 Merge branch 'master' of github.com:grpc/grpc into guard_check 2016-03-17 22:42:39 -07:00
David Garcia Quintas cd21266b5f Merge branch 'master' of github.com:grpc/grpc into codegen_lib 2016-03-15 17:10:45 -07:00
David Garcia Quintas 3598d4457d Fixed include guards 2016-03-15 14:53:05 -07:00
David Garcia Quintas 9eef377865 clang-format 2016-03-09 11:31:02 -08:00
David Garcia Quintas 60ee8dd2fc docstrings 2016-03-08 17:21:42 -08:00
David Garcia Quintas b942640497 clang-format 2016-03-08 16:25:11 -08:00
David Garcia Quintas be25493398 codegen interface usage of gpr_inf_future 2016-03-08 16:24:35 -08:00
David Garcia Quintas ef6848fe5b reverted gpr_ time changes 2016-03-08 16:05:30 -08:00
David Garcia Quintas 8c3d9943f6 compiles! 2016-03-08 00:07:14 -08:00
David Garcia Quintas e1ce31eda3 wip. cq refactored 2016-03-07 18:19:12 -08:00
David Garcia Quintas 6848c4e145 wip. prior to cq refactoring 2016-03-07 17:10:57 -08:00
Sree Kuchibhotla b0d1567e8e Revert "Revert "Properly integrate async API with server-side cancellations."" 2016-03-07 10:51:02 -08:00
David Garcia Quintas b07938fa22 added missing initializer for global proto_serializer holder to codegen lib 2016-03-06 20:07:30 -08:00
Sree Kuchibhotla edd96e4926 Revert "Properly integrate async API with server-side cancellations." 2016-03-04 14:32:50 -05:00
Vijay Pai 13ee2f2df3 Properly integrate async API with server-side cancellations.
There is a comment above IsCancelled that says when it is ok to use this.
2016-03-03 13:57:32 -08:00
David Garcia Quintas 7f7181ffc5 fix comments 2016-03-02 20:42:16 -08:00
David Garcia Quintas c4f4f7ede9 clang-format 2016-03-02 20:37:24 -08:00
David Garcia Quintas f588aeb1e2 introduced workaround for proto_utils 2016-03-02 20:33:28 -08:00
David Garcia Quintas bcd78fe845 Added missing virtual dtor 2016-02-19 15:39:16 -08:00
Craig Tiller c0473cc823 Merge github.com:grpc/grpc into compress 2016-02-11 08:51:16 -08:00
David Garcia Quintas 26a9848416 Removed outdated mention of AsynchronousService 2016-02-11 00:45:00 -08:00
David Garcia Quintas ab5da5ef7a Added missing codegen includes 2016-02-09 20:31:37 -08:00
Vijay Pai 30bf3ea4b9 clang-format 2016-02-08 13:21:07 -08:00
Vijay Pai c593ca0171 reset the shared_ptr 2016-02-08 11:38:42 -08:00
Vijay Pai bedf57fe8c Ref the collection only when it will be used (and later finalized) 2016-02-05 16:45:54 -08:00
Vijay Pai 2b5638668e Drop the ref 2016-02-05 15:11:36 -08:00
Vijay Pai 5506bea349 Undo much of the previous commits so that only CallOpSet groups
with a Sneaky member are in a collection.
2016-02-05 14:23:24 -08:00
Vijay Pai 7e3f9b0178 Forgot to include these edits in the last commit 2016-02-05 13:43:17 -08:00
Vijay Pai 38004a8e39 Wrap groups of related CallOpSet's into a ref-counted structure
whenever appropriate so as to avoid any unintentional free-before-use
problems.

Potential performance issue: this triggers an additional allocation
for each Async call initiation, along with the cost of ref-counting
shared_ptr . But this is worth it for the additional safety provided
here without any change to the exposed C++ API.
2016-02-05 13:40:22 -08:00
Craig Tiller 97cb41cfaf Merge github.com:grpc/grpc into compress 2016-02-05 10:44:56 -08:00
Craig Tiller a44cbfc11c Fix race condition in transport API
Specifically:

Receiving trailing and initial metadata had to be published in
lock-step.
=> If we wanted trailing metadata, we might not get initial metadata processed
   until messages arrived.
=> Compression code had no idea what codec to use.

To fix it, publish initial metadata as soon as it's ready (this is a
transport API change).

Requires changes to grpc_call to ensure ordering in processing initial
metadata and messages (one may be delayed).

Exposed at least some bugs in C++ where we never read initial metadata.

I expect at least one more similar bug.
2016-02-03 16:02:49 -08:00
Sree Kuchibhotla 3075c81028 Update comment on TryCancel() API 2016-01-29 18:25:22 -08:00
Sree Kuchibhotla f25c6ba229 Comments and format 2016-01-28 18:04:03 -08:00
Sree Kuchibhotla 7fa9d6f4c8 TryCancel() on ServerContext() 2016-01-28 17:32:48 -08:00
David Garcia Quintas 6523391782 sanity fixes 2016-01-27 20:07:36 -08:00
David Garcia Quintas b4e51b52bd Merge branch 'master' of github.com:grpc/grpc into sync-async-plus-interfaces 2016-01-27 19:57:58 -08:00
David Garcia Quintas 5a9462339d copyrights 2016-01-27 19:22:14 -08:00
David Garcia Quintas 6bd7b97dc6 DONE!!1one 2016-01-27 19:21:12 -08:00
David Garcia Quintas e1300deb87 After GrpcLibrary refactoring. Compiles and passes. WIP still 2016-01-27 18:41:26 -08:00
David Garcia Quintas 6a48405ed0 pre sync_stream.cc creation. Does not compile 2016-01-25 19:12:37 -08:00
David Garcia Quintas b523c732d1 async_stream.h done. Compiles 2016-01-25 18:22:28 -08:00
David Garcia Quintas 3452ae27c1 copyrights 2016-01-25 17:34:49 -08:00
David Garcia Quintas 2425bbbc55 Further work. Compiles. WIP 2016-01-25 17:32:48 -08:00
David Garcia Quintas ddcb53a9de made codegen targets in build.yaml 2016-01-21 17:48:34 -08:00
David Garcia Quintas 1d9b8079cb clang-format 2016-01-21 10:08:22 -08:00
David Garcia Quintas a43aadd7e1 fixed copyrights 2016-01-21 10:01:28 -08:00
David Garcia Quintas 08a0a3306e Made "codedgen" directories closed over #includes 2016-01-21 01:04:36 -08:00
David Garcia Quintas f3ddb7c55a clang-format 2016-01-20 16:02:22 -08:00
David Garcia Quintas 6190854157 updated copyrights 2016-01-20 11:21:27 -08:00
David Garcia Quintas a701ed7759 Merge branch 'proto_interfaces' into yang-g-sync_async_mix 2016-01-19 18:44:47 -08:00
David Garcia Quintas 1f4e72c19c override -> GRPC_OVERRIDE 2016-01-19 14:45:32 -08:00
David Garcia Quintas 44f3249018 Introduced ServerInterface 2016-01-15 16:49:16 -08:00
David Garcia Quintas e50c6c2f5e WIP. Added ChannelInterface 2016-01-13 16:02:00 -08:00