Commit Graph

359 Commits

Author SHA1 Message Date
Hope Casey-Allen 3433749d1b Add clarification to callback API documentation 2019-04-24 16:37:19 -07:00
Karthik Ravi Shankar 38ffd8ca84 Merge branch 'master' into grpc_namespace_credentials 2019-04-23 18:22:09 -07:00
Karthik Ravi Shankar c8a6841dfc Merge branch 'master' into revert-18717-grpc_namespace_server_revert 2019-04-23 18:14:02 -07:00
Yang Gao 5170c613cc
Merge pull request #18784 from yang-g/message_allocator
Message allocator support for callback unary
2019-04-23 15:49:49 -07:00
Karthik Ravi Shankar 60bdeef9f4 Move Channel also to impl for now 2019-04-23 14:03:06 -07:00
Karthik Ravi Shankar 603d014f0e Changes to fold credentials into grpc_impl from grpc 2019-04-23 13:54:26 -07:00
yang-g 39cfbf9d4a cast and default initializer 2019-04-23 13:00:09 -07:00
Karthik Ravi Shankar 17ca558e13 Merge branch 'master' into grpc_namespace_channel_arguments 2019-04-23 11:38:13 -07:00
yang-g 41824319fa Resolve review comments 2019-04-23 08:54:36 -07:00
Vijay Pai 1a4f5e8ade
Fix typo in comment
It's a ServerWriteReactor
2019-04-22 11:29:16 -07:00
Vijay Pai 20c08dbc7a Add client-side unary reactor model 2019-04-19 16:10:08 -07:00
Jan Tattermusch 0939376a17
Merge pull request #18769 from SataQiu/fix-20190416
Fix spelling errors of include/*
2019-04-18 09:52:37 +02:00
Soheil Hassas Yeganeh 1c186784cd Make sure grpc::internal::Mutex has enough space for gpr_mu, std::mutex, and pthread_mutex_t. 2019-04-17 14:35:34 -04:00
Soheil Hassas Yeganeh 2b9448a71c Revert "Revert "Introduce C++ wrappers for gpr_mu and gpr_cv.""
This reverts commit d09c9f8e20.
2019-04-17 14:35:29 -04:00
yang-g 051d421579 Resolve sanity 2019-04-17 08:57:48 -07:00
yang-g 6929cdd654 initial 2019-04-16 15:43:58 -07:00
SataQiu b416019f72 fix spelling errors of include/* 2019-04-16 11:45:42 +08:00
Jean de Klerk a19d8dcfb5 docs: add note about retrying UNAVAILABLE
release note: no
2019-04-15 12:45:27 -06:00
Jan Tattermusch 1d9e442b4d
Merge pull request #18707 from SataQiu/fix-repeated-words
Clean up repeated words
2019-04-15 13:37:09 +02:00
Alexander Polcyn d09c9f8e20 Revert "Introduce C++ wrappers for gpr_mu and gpr_cv."
This reverts commit a26c09dd25.
2019-04-11 16:52:54 -07:00
Karthik Ravi Shankar 00f736adda Remove unecessary file 2019-04-11 15:46:08 -07:00
Karthik Ravi Shankar 62fb156122 Fold CompletionQueue and ServerCompletionQueue into grpc_impl 2019-04-11 13:16:32 -07:00
Karthik Ravi Shankar 2554f122c1 Remove unecessary files 2019-04-11 12:06:41 -07:00
Karthik Ravi Shankar 973fa6950e Fold Channel into grpc_impl from grpc namespace 2019-04-11 12:04:23 -07:00
Vijay Pai ea59977fbc
Merge pull request #18687 from vjpai/cancel_order
C++ Callback API: Make sure that OnCancel happens after OnStarted
2019-04-10 16:15:43 -07:00
Karthik Ravi Shankar 2e88231fc0
Revert "Revert "Merge pull request #18458 from grpc/grpc_namespace_server"" 2019-04-10 15:04:05 -07:00
Soheil Hassas Yeganeh e85dd2e644 Fix build errors 2019-04-10 14:15:28 -07:00
Karthik Ravi Shankar f03b309787 Revert "Merge pull request #18458 from grpc/grpc_namespace_server"
This reverts commit dc1089a6d1, reversing
changes made to 31843787cc.

This change also includes - Revert "Merge pull request #17932 from soheilhy/gprpp-mutex"

This reverts commit df4b6a763d, reversing
changes made to dc1089a6d1.
2019-04-10 13:54:05 -07:00
Karthik Ravi Shankar dad3f34207
Revert "Revert "Revert "Folding the Channel class into the grpc_impl namespace.""" 2019-04-10 12:14:04 -07:00
Vijay Pai 41c6cba9f5 Make sure that OnCancel happens after OnStarted 2019-04-10 11:32:34 -07:00
Karthik Ravi Shankar 891b6cf7ae
Revert "Folding CompletionQueue and ServerCompletionQueue." 2019-04-10 10:22:59 -07:00
SataQiu 44f92cdd17 clean up repeated words 2019-04-10 16:25:25 +08:00
Karthik Ravi Shankar d2b2f7f5a3 Merge branch 'master' into completion-queue-fold 2019-04-09 13:44:33 -07:00
Karthik Ravi Shankar 918cb46011
Merge pull request #18198 from grpc/revert-18076-revert-17797-channel
Revert "Revert "Folding the Channel class into the grpc_impl namespace.""
2019-04-09 13:34:02 -07:00
hcaseyal ca11dfb349
Merge pull request #18686 from hcaseyal/callback_doc
Update callback API documentation
2019-04-09 12:45:06 -07:00
Karthik Ravi Shankar 506ca7fc36 Fix clang script errors 2019-04-09 11:51:39 -07:00
Karthik Ravi Shankar b84d3db762 Fix build after merge from master 2019-04-09 11:11:09 -07:00
Karthik Ravi Shankar afd602ccba Merge branch 'master' into completion-queue-fold 2019-04-09 10:46:03 -07:00
Karthik Ravi Shankar 5a08d2aae7 Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-09 08:22:37 -07:00
Karthik Ravi Shankar 53c5bf5ced Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-08 16:04:24 -07:00
Soheil Hassas Yeganeh a26c09dd25 Introduce C++ wrappers for gpr_mu and gpr_cv.
Introduce RAII wrappers in the grpc::internal and grpc_core
namespaces, and use them in place of std::mutex and
std::condition_variable.

Note that, since std::mutex is also used by the public
C++ headers we cannot introduce these wrappers in grpc_core.

Also, note that in grpcpp we cannot use gRPC core and vice versa.
So we had to duplicate the code, once using core_codegen_interface
and once using direct calls.
2019-04-08 18:27:07 -04:00
Karthik Ravi Shankar 4cb0d0d6b1 Fix errors from clang scripts 2019-04-08 13:41:19 -07:00
Karthik Ravi Shankar 9875fabdd4 Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-08 12:55:07 -07:00
Karthik Ravi Shankar 958f373d32 Merge branch 'master' into grpc_namespace_server 2019-04-08 12:42:37 -07:00
Karthik Ravi Shankar 0141f9a55b Merge branch 'master' into grpc_namespace_channel_arguments 2019-04-08 11:59:28 -07:00
Hope Casey-Allen b86e70592e Format 2019-04-08 10:13:17 -07:00
Hope Casey-Allen cee3292cdf Update callback API documentation 2019-04-08 09:11:04 -07:00
Karthik Ravi Shankar 9b42ab79e0 Make build fixes for bazel build :all 2019-04-04 16:40:16 -07:00
Karthik Ravi Shankar f01997b377 Merge branch 'master' into grpc_namespace_channel_arguments 2019-04-04 16:31:42 -07:00
Karthik Ravi Shankar c50dd23ea7 Merge branch 'master' into grpc_namespace_server 2019-04-04 15:56:09 -07:00
Karthik Ravi Shankar dd39f78e3f Merge branch 'master' into revert-18502-revert-18242-grpc_namespace_serverbuilder 2019-04-04 15:45:42 -07:00
Karthik Ravi Shankar a93ff7d617 Fix script errors 2019-04-04 10:14:26 -07:00
Karthik Ravi Shankar 8a2807c2a6 Merge branch 'master' into grpc_namespace_server 2019-04-03 12:46:41 -07:00
Karthik Ravi Shankar e5ea95db88 Merge branch 'master' into revert-18502-revert-18242-grpc_namespace_serverbuilder 2019-04-03 12:25:09 -07:00
Karthik Ravi Shankar f0d82d57e2 Merge branch 'master' into grpc_namespace_server_credentials 2019-04-01 13:59:12 -07:00
Karthik Ravi Shankar 87c98ad3fb
Merge pull request #18379 from grpc/grpc_namespace_server_initializer
Move ServerInitializer to grpc_impl namespace from grpc
2019-04-01 12:48:28 -07:00
Karthik Ravi Shankar c85a03e308
Merge pull request #18377 from grpc/grpc_namespace_server_builder_option
Move ServerBuilderOption from grpc to grpc_impl namespace
2019-03-29 10:08:17 -07:00
Karthik Ravi Shankar 29c0aacfc0 Merge branch 'master' into revert-18502-revert-18242-grpc_namespace_serverbuilder 2019-03-29 08:24:54 -07:00
Vijay Pai 847b0155d9 Promise to call OnStarted and forbid Start* until after OnStarted 2019-03-27 16:30:07 -07:00
Karthik Ravi Shankar dc3a715be4 Fix clang format code errors. 2019-03-27 14:33:58 -07:00
Karthik Ravi Shankar c399349dad Merge branch 'master' into grpc_namespace_server 2019-03-27 14:32:10 -07:00
Karthik Ravi Shankar 8499415edd Merge branch 'master' into grpc_namespace_channel_arguments 2019-03-27 14:21:55 -07:00
Karthik Ravi Shankar 7068560b2b Merge branch 'master' into grpc_namespace_server_credentials 2019-03-27 14:18:42 -07:00
Karthik Ravi Shankar 0f078898d5 Merge branch 'master' into revert-18502-revert-18242-grpc_namespace_serverbuilder 2019-03-27 12:50:49 -07:00
Karthik Ravi Shankar 577ddfb1a1 Move ServerInitializer to grpc_impl namespace from grpc 2019-03-27 12:28:35 -07:00
Karthik Ravi Shankar a88e3f4c2e Move ServerBuilderOption from grpc to grpc_impl namespace 2019-03-27 12:20:43 -07:00
Vijay Pai abb991be25 Further clarify some APIs by removing their comments from internal:: 2019-03-27 09:46:08 -07:00
Vijay Pai 9169159f30 Comments for all callback API methods 2019-03-26 23:33:23 -07:00
Karthik Ravi Shankar 996da58667
Revert "Revert "Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder"" 2019-03-26 08:04:32 -07:00
Karthik Ravi Shankar e4bb7cb8bb
Revert "Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder" 2019-03-25 19:57:17 -07:00
Vijay Pai f4fdd829d7
Merge pull request #17892 from RohanTalip/HandlerParameter-doc
Renamed the param in the documentation for HandleParameter to match the actual parameter.
2019-03-25 16:46:17 -07:00
Karthik Ravi Shankar 88fc2a6a52
Merge pull request #18242 from grpc/grpc_namespace_serverbuilder
Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder
2019-03-25 15:59:01 -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
Vijay Pai 50576179f8
Merge pull request #17978 from yashykt/interceptorcleanup1
Global Interceptor Registration allowed only once
2019-03-20 19:13:55 -07:00
Karthik Ravi Shankar 04af168cf8 Move Server into grpc_impl from grpc 2019-03-20 13:05:36 -07:00
Karthik Ravi Shankar 6da0ca4421 Bring ChannelArguments to grpc_impl from grpc 2019-03-20 10:38:03 -07:00
Karthik Ravi Shankar 54171e276f Fold server credentials from grpc to grpc_impl namespace 2019-03-20 10:00:34 -07:00
Vijay Pai 7b3a120295 Address reviewer comments 2019-03-18 16:51:15 -07:00
Vijay Pai 93f0a3f653 Address reviewer comments 2019-03-18 15:37:35 -07:00
Vijay Pai 04a6b8467c Support callback on cancellation of server-side unary RPCs 2019-03-18 12:00:57 -07:00
Karthik Ravi Shankar 322e720fe6 Merge branch 'master' into grpc_namespace_serverbuilder 2019-03-18 10:39:38 -07:00
Vijay Pai 8c3d4a7dfd
Merge pull request #18072 from vjpai/client_streaming_hold
C++ callback API: Add support for client-side extra-reaction operations via Holds
2019-03-16 10:27:36 -07:00
Vijay Pai 48ce4ca939 Add support for extra-reaction operations via Holds 2019-03-15 16:17:01 -07:00
Norman Link 3d28761029 Fixing memory leak in interceptor by removing unsued send_status_ 2019-03-13 21:42:02 +01:00
Karthik Ravi Shankar 3b7a47cde6 Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder
This change moves ServerBuilder class from grpc namespace to grpc_impl
namespace.
2019-03-04 17:01:14 -08:00
Vijay Pai 05d8ddfc6e Support callback-based generic service 2019-03-04 13:13:12 -08: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
Nicolas Noble 91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace."" 2019-02-27 16:53:23 -08:00
Vijay Pai 2eb25c871e Avoid build errors 2019-02-26 03:08:06 -08:00
Vijay Pai 857e622e6f
Merge pull request #18098 from vjpai/try_2
Reduce starting callback counter to exclude client-side StartCall
2019-02-22 19:52:29 -08:00
Vijay Pai 147c61b2a4 Exclude StartCall from starting callback counter value 2019-02-20 21:13:44 -08:00
Yuwei Huang 3cbf4f50ea Remove extra semicolons after function definitions
We are planning to enable -Wextra-semi flag in our project but some
header files in gRPC have extra semicolons that violates the check and
blocks us from enabling the flag.

This change removes unnecessary semicolons in the code. Note that having
semicolon after the GRPC_ABSTRACT macro technically also violates the
check, but it's fine for us since they are not used in public headers,
and it will be confusing to have lines ending only with GRPC_ABSTRACT,
so I keep them as-is.
2019-02-20 17:58:30 -08:00
Nicolas Noble 2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace." 2019-02-15 09:52:15 -08:00
Nicolas "Pixel" Noble 035442b086 Fixing header guard. 2019-02-14 21:40:31 +01:00
Nicolas "Pixel" Noble 5847c3a87a Reformat. 2019-02-14 20:05:59 +01:00
Nicolas "Pixel" Noble 12b0db3e57 Folding CompletionQueue and ServerCompletionQueue. 2019-02-14 20:01:14 +01:00
Yash Tibrewal 73353ad281 Merge branch 'master' into interceptorcleanup1 2019-02-13 12:47:47 -08:00
Yash Tibrewal 50497c2317 Reviewer comments 2019-02-13 12:46:07 -08:00
Nicolas "Pixel" Noble 63db582516 Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 00:19:23 +01:00
Yash Tibrewal c71b2f4fb7 Global Interceptor Registration allowed only once 2019-02-07 19:36:51 -08:00