Commit Graph

499 Commits

Author SHA1 Message Date
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 d79ef3af71 Fixed wrong usage of global var 2016-01-28 00:21:27 -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 28991142fa Improved a couple error messages 2016-01-22 13:56:45 -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
yang-g ad63510102 Add a test with two methods generic 2016-01-15 13:11:37 -08:00
yang-g 1ac6f4594e warn user when they forget register generic service 2016-01-15 11:46:40 -08:00
yang-g f48766d347 fix copyright 2016-01-15 11:26:31 -08:00
yang-g 0bbc87f599 Add generic support 2016-01-15 09:22:50 -08:00
David Garcia Quintas e50c6c2f5e WIP. Added ChannelInterface 2016-01-13 16:02:00 -08:00
yang-g bef0d8744e Support sync/async methods in the same service 2016-01-13 15:27:33 -08:00
Craig Tiller 15f383c6cc Exploratory refactoring for mixed sync/async methods on the same C++ service 2016-01-07 12:45:32 -08:00
Craig Tiller 7536af02cf Eliminate gpr_ int types - and insist on C99 variants instead 2015-12-22 13:49:30 -08:00
Jan Tattermusch 5dc93c363b include climits 2015-12-07 17:59:35 -08:00
Jan Tattermusch 5b155e5674 more win x64 fixes 2015-12-07 17:59:32 -08:00
yang-g 92f4a155d8 add doxygen comment 2015-12-02 14:24:45 -08:00
yang-g a23f17b123 add server_builder_option 2015-11-25 10:21:05 -08:00
Craig Tiller 52a2ebadcb Two argument variant for grpc::thread 2015-11-20 15:37:54 -08:00
Craig Tiller dd69342218 Merge github.com:grpc/grpc into clang_format 2015-09-25 09:56:52 -07:00
Craig Tiller ddf3a511aa Add clang-format to sanity 2015-09-24 13:03:44 -07:00
Craig Tiller 04456843cd Windows fixes 2015-09-23 10:07:16 -07:00
yang-g e21908fcee impl 2015-08-25 13:47:51 -07:00
yang-g 3e4bd9598b merge with head 2015-08-24 15:54:07 -07:00
yang-g 9fb35a5332 split stream.h into sync_stream.h and async_stream.h 2015-08-21 15:49:35 -07:00
yang-g 9e2f90cd06 headers reorg 2015-08-21 15:35:03 -07:00
yang-g ef00308e39 remove internal_stub 2015-08-20 11:40:51 -07:00
yang-g c2bd8a6d1a Fix server side and generic stub 2015-08-20 11:40:12 -07:00
yang-g 431f8c2b5f make registermethod private 2015-08-20 10:59:29 -07:00
yang-g 8c2be9f228 Remove ChannelInterface and replace it with Channel 2015-08-19 16:28:09 -07:00
Craig Tiller 4d90b21b92 Merge github.com:grpc/grpc into y12kdm3 2015-08-19 08:00:45 -07:00
yang-g b9b9d6ee8e add a README for include/grpc++/impl 2015-08-18 12:56:58 -07:00
Craig Tiller 128f4a9cfe Merge github.com:grpc/grpc into y12kdm3 2015-08-18 12:51:05 -07:00
Craig Tiller d6c98df792 clang-format all source 2015-08-18 09:33:44 -07:00
Craig Tiller 8f7bff7d48 Merge github.com:grpc/grpc into y12kdm3 2015-08-17 13:23:14 -07:00
Vijay Pai 8c0389d84e Merge pull request #2921 from yang-g/unknown_service
Use a sync service to handle requests to unknown services
2015-08-13 15:30:01 -07:00
yang-g 9b7757dd35 Use a sync service to handle requests to unknown services 2015-08-13 11:15:53 -07:00
Nicolas "Pixel" Noble 9d72b149a9 Merge branch 'master' of github.com:grpc/grpc into the-ultimate-showdown
Conflicts:
	include/grpc/grpc.h
	src/core/surface/channel.c
	src/core/surface/channel_create.c
	src/core/surface/completion_queue.c
	src/cpp/client/channel.cc
	src/cpp/client/insecure_credentials.cc
	src/csharp/ext/grpc_csharp_ext.c
	src/node/ext/call.cc
	src/node/ext/channel.cc
	src/php/ext/grpc/call.c
	src/php/ext/grpc/channel.c
	src/python/grpcio/grpc/_adapter/_c/types/channel.c
	src/ruby/ext/grpc/rb_channel.c
	test/core/end2end/dualstack_socket_test.c
	test/core/end2end/fixtures/chttp2_fullstack.c
	test/core/end2end/fixtures/chttp2_fullstack_compression.c
	test/core/end2end/fixtures/chttp2_fullstack_uds_posix.c
	test/core/end2end/fixtures/chttp2_fullstack_with_poll.c
	test/core/end2end/multiple_server_queues_test.c
	test/core/end2end/no_server_test.c
	test/core/end2end/tests/bad_hostname.c
	test/core/end2end/tests/cancel_after_accept.c
	test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
	test/core/end2end/tests/cancel_after_invoke.c
	test/core/end2end/tests/cancel_before_invoke.c
	test/core/end2end/tests/cancel_in_a_vacuum.c
	test/core/end2end/tests/census_simple_request.c
	test/core/end2end/tests/disappearing_server.c
	test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
	test/core/end2end/tests/empty_batch.c
	test/core/end2end/tests/graceful_server_shutdown.c
	test/core/end2end/tests/invoke_large_request.c
	test/core/end2end/tests/max_concurrent_streams.c
	test/core/end2end/tests/max_message_length.c
	test/core/end2end/tests/ping_pong_streaming.c
	test/core/end2end/tests/registered_call.c
	test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
	test/core/end2end/tests/request_response_with_metadata_and_payload.c
	test/core/end2end/tests/request_response_with_payload.c
	test/core/end2end/tests/request_response_with_payload_and_call_creds.c
	test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
	test/core/end2end/tests/request_with_compressed_payload.c
	test/core/end2end/tests/request_with_flags.c
	test/core/end2end/tests/request_with_large_metadata.c
	test/core/end2end/tests/request_with_payload.c
	test/core/end2end/tests/server_finishes_request.c
	test/core/end2end/tests/simple_delayed_request.c
	test/core/end2end/tests/simple_request.c
	test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
	test/core/fling/client.c
	test/core/fling/server.c
	test/core/surface/lame_client_test.c
2015-08-08 01:45:38 +02:00
Nicolas "Pixel" Noble 4960516c63 Properly initializing reserved pointer in tests. 2015-08-01 00:33:29 +02:00
yang-g 766d9ee148 fix build 2015-07-29 15:51:25 -07:00
yang-g 7cbac4cf95 Fix gpr_inf_future call 2015-07-23 23:00:52 -07:00
Craig Tiller e845d980e5 Merge pull request #2406 from dgquintas/writeoptions
Added WriteOptions for per-message flags and modified CallOps to use it.
2015-07-15 13:40:31 -07:00
Vijay Pai 94fd462df8 override and final 2015-07-14 16:18:41 -07:00
Vijay Pai 181ef45f5e Addressing outstanding typos and comments
Clang-format of changed files
2015-07-14 13:52:48 -07:00
vjpai 7d980e44b2 Remove lambda function with lambda capture to allow building with pre-lambda
compilers
2015-07-14 10:38:30 -07:00
David Garcia Quintas 664cda0ef5 Removed spurious check 2015-07-14 09:03:54 -07:00
David Garcia Quintas 6a3cf974f7 Added WriteOptions for per-message flags and modified CallOps to use it. 2015-07-13 13:38:18 -07:00
Nicolas "Pixel" Noble d8c04b3603 std::function is no longer implicitly included. Fixing this. 2015-06-24 02:33:08 +02:00
Craig Tiller 026e600b5b Update to set flags=0 on all ops 2015-06-22 11:41:14 -07:00
Craig Tiller e9fad15b0b Remove redundant decls 2015-06-22 10:49:02 -07:00
Craig Tiller 2622ddbcfd Merge branch 'we-dont-need-no-backup' into one-shouldnt-depend-on-protobufs
Conflicts:
	include/grpc++/async_unary_call.h
	include/grpc++/config.h
	include/grpc++/config_protobuf.h
	include/grpc++/impl/service_type.h
	include/grpc++/stream.h
	src/cpp/common/call.cc
2015-06-16 17:30:26 -07:00
Yang Gao c1a2c314fb Update the Status API 2015-06-16 10:59:46 -07:00
Craig Tiller 90ed038999 .clang-format 2015-06-05 10:56:47 -07:00
Craig Tiller fcff618e6f Clarify some of the call stuff 2015-06-05 10:56:10 -07:00
Craig Tiller e22fb4e3e5 Merge branch 'one-shouldnt-depend-on-protobufs' of github.com:ctiller/grpc into one-shouldnt-depend-on-protobufs 2015-06-05 10:43:57 -07:00
Craig Tiller bd277cb3cb Clarify serialization traits interface 2015-06-05 10:43:43 -07:00
Craig Tiller 2f4a49c8d3 Fix memory leak 2015-06-05 09:36:52 -07:00
Craig Tiller 928ec8ee51 Fix memory leak 2015-06-05 08:45:45 -07:00
Craig Tiller 8f789fd4b9 Reset on finalization so op objects can be reused 2015-06-05 08:27:00 -07:00
Craig Tiller e8200ba046 Fix GCC compilation 2015-06-05 07:59:33 -07:00
Craig Tiller e6ee9b403c Hide some unnecessary information 2015-06-05 07:57:06 -07:00
Craig Tiller 4beef42264 Clarify ownership 2015-06-05 07:48:27 -07:00
Craig Tiller b73856916a Remove old code, simplify a little 2015-06-05 07:40:03 -07:00
Craig Tiller 44290f1b6f Add necessary include 2015-06-05 07:22:57 -07:00
Craig Tiller ce40de58da clang-format 2015-06-05 07:14:58 -07:00
Craig Tiller 789471cfc6 Client side compiles/links 2015-06-04 16:19:22 -07:00
Craig Tiller 50a7a68ca2 Progress commit on fixing up C++ 2015-06-04 12:53:40 -07:00
Craig Tiller 81fafa8971 Beginning the cleanup 2015-06-04 08:51:17 -07:00
Yang Gao 69fe0759be Various minor fixes 2015-06-01 14:32:38 -07:00
Yang Gao a468c36601 Merge pull request #1493 from ctiller/churn-churn-churn-the-api-gently-down-the-stream
Completion queue binding for new requests API change
2015-05-12 12:37:24 -07:00
Craig Tiller 3676b38183 Lose redundant tag on unary calls 2015-05-06 13:01:05 -07:00
Craig Tiller f9e6adf998 Completion queue binding for new requests API change
Move completion queue binding for new requests to the new request
request time, not server instantiation time.
2015-05-06 11:45:59 -07:00
Yang Gao 3921c56bee Expose max message size at the server side 2015-04-30 16:07:06 -07:00
Yang Gao c4b6ffb1b6 Add a GrpcLibrary class to wrap grpc_init and grpc_shutdown and convert all the tests to init/shutdown free. 2015-04-24 13:09:40 -07:00
Craig Tiller 277d3cff7e clang-format 2015-04-16 09:30:01 -07:00
Craig Tiller 3beef68d39 Populate channel tags for methods 2015-04-16 09:29:17 -07:00
Craig Tiller 53a38d4699 Make RpcMethod constructor take all args 2015-04-16 09:29:17 -07:00
Nicolas "Pixel" Noble b092916a2a Addressing concerns. 2015-04-07 02:13:22 +02:00
Nicolas "Pixel" Noble ff2828be3d Rewriting mutex, condition_variable, and thread. 2015-04-04 02:06:13 +02:00
Yang Gao e9866e977e resolve comment 2015-04-02 10:27:50 -07:00
Yang Gao b53af532af Bug fix. User can destroy status after calling Finish and we should keep a copy of it instead of a pointer 2015-04-02 09:24:39 -07:00
Yang Gao 6baa9b67ad clang-format c++ code 2015-03-17 10:49:39 -07:00
Yang Gao 5f4539f4e8 Service side should be done, it builds and existing tests pass 2015-03-06 16:11:16 -08:00
Yang Gao ee7ab3db2f Remove include google/protobuf/message.h as it should be covered in config.h 2015-03-04 09:08:28 -08:00
Yang Gao 5b61d5194d formatting 2015-03-03 10:21:27 -08:00
Yang Gao 7694c35d5f Global replace google::protobuf::Message with grpc::protobuf::Message, all tests passed 2015-03-03 09:48:06 -08:00
Nicolas "Pixel" Noble 1ff52d5278 Guard headers tool. 2015-03-01 06:18:14 +01:00
Craig Tiller cf133f41f8 Make it possible to compile with gcc4.6 2015-02-26 14:27:05 -08:00
Craig Tiller 2d11c93ab5 Merge github.com:grpc/grpc into an-update-on-c++ 2015-02-18 15:51:50 -08:00
Craig Tiller 8a287d1a1b Merge pull request #588 from yang-g/c++api
Async client api change. Add a ClientAsyncResponseReader.
2015-02-18 14:50:14 -08:00
Yang Gao 3a5e5495e5 Async client api change. Add a ClientAsyncResponseReader. Make the api similar to streaming and symmetric to server side. 2015-02-18 14:32:38 -08:00
Craig Tiller eaaee49f9b Merge github.com:grpc/grpc into an-update-on-c++ 2015-02-18 13:14:15 -08:00
Craig Tiller 190d360def Add missing new-lines at end of file 2015-02-18 09:23:38 -08:00
Craig Tiller 645466e089 Initial sketch 2015-02-18 09:18:33 -08:00
Craig Tiller 0605995e55 Update copyright to 2015 2015-02-18 08:34:56 -08:00
Craig Tiller 6d5f42e79a Fix copyright notice 2015-02-18 08:31:24 -08:00
Yang Gao 2b7f537546 Add metadata test with rpc. Adding/fixing things to make it work 2015-02-18 00:45:53 -08:00
Craig Tiller 573523f127 clang-format 2015-02-17 07:38:26 -08:00
Yang Gao 0c7aafaa0c change AddRecvMessage signature 2015-02-12 22:51:38 -08:00
Craig Tiller 0220cf14b0 Add end2end async unary single threaded test (compiles) 2015-02-12 17:39:26 -08:00
Craig Tiller c645306b64 Fixes 2015-02-12 17:32:57 -08:00
Yang Gao 31150f01db implement async unary call 2015-02-12 16:44:00 -08:00
Craig Tiller ec3257c120 Fix end2end leaks 2015-02-12 15:59:43 -08:00
Craig Tiller 3d6ceb6461 Async server dispatch 2015-02-12 14:33:54 -08:00
Craig Tiller 1c9a2a91ca Async API progress 2015-02-12 14:10:25 -08:00
Craig Tiller 8c8d0aa1d8 Async API progress 2015-02-12 11:38:36 -08:00
Craig Tiller 0156752a66 Some streaming progress 2015-02-11 21:08:49 -08:00
Craig Tiller 504bd331ab Make sure we get a close before stopping the server 2015-02-11 20:34:33 -08:00
Craig Tiller 47a573602a Fix ownership 2015-02-11 16:31:45 -08:00
Yang Gao 2382293226 Make it compile 2015-02-11 13:59:25 -08:00
Yang Gao 1464bc175d resolve conflict 2015-02-11 13:48:28 -08:00
Yang Gao f1258c4951 save before the change 2015-02-11 13:44:11 -08:00
Craig Tiller bb5227fc39 Allow server to hook calls also, fix crash 2015-02-11 13:34:48 -08:00
Craig Tiller a5c0e7bc46 Initial metadata fix 2015-02-11 13:14:49 -08:00
Yang Gao eb8e7cd922 Implement FinalizeResult 2015-02-11 11:43:40 -08:00
Craig Tiller b84aab7922 Merge branch 'c++api' of github.com:ctiller/grpc into c++api 2015-02-11 10:51:23 -08:00
Craig Tiller c416577636 Server progress 2015-02-11 10:51:04 -08:00
Yang Gao 6d6b90376b Release write buffer in FinalizeResult 2015-02-11 10:19:20 -08:00
Yang Gao d5a04bdc6e Implement FillOps 2015-02-11 00:04:32 -08:00
Yang Gao 7eb7d75c51 call implementation before the meeting 2015-02-10 14:23:15 -08:00
Craig Tiller 20f4af2e36 Move call.h -> impl/call.h 2015-02-10 09:52:15 -08:00
Craig Tiller 80e00a8c63 Stub out unary call wrapper 2015-02-09 20:54:25 -08:00
Craig Tiller 40fcdaff0a Remove stream_context 2015-02-09 15:43:34 -08:00
Craig Tiller 1d2e21962e Server progress 2015-02-09 15:25:21 -08:00
Craig Tiller 14a65f9760 Further progress 2015-02-09 13:13:14 -08:00
Craig Tiller b5dcec5a2e clang-format codebase 2015-01-13 11:13:42 -08:00
yangg 1b151096d1 Add impl subdirectory under public and move headers that need to be installed
to it.
	Change on 2015/01/09 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83640373
2015-01-12 11:22:02 -08:00