Commit Graph

1657 Commits

Author SHA1 Message Date
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
Karthik Ravi Shankar 526bf39f89 Fold GenericStub from grpc_impl to grpc 2019-03-19 12:34:30 -07:00
Karthik Ravi Shankar f58aed2d06 Make changes to server_posix to expose method outside 2019-03-19 10:50:53 -07:00
Karthik Ravi Shankar 1d357572cf Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota"
This reverts commit d8d8bec7c8.
2019-03-19 10:43:02 -07:00
Karthik Ravi Shankar e9593285a8 Move LoadReportingServiceServerBuilderOption from grpc to grpc_impl 2019-03-18 13:20:42 -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
Karthik Ravi Shankar 2772f519e6 Fix errors from presubmit scripts. 2019-03-15 14:28:32 -07:00
Karthik Ravi Shankar 4a0c3b848f Fix broken tests 2019-03-15 13:16:46 -07:00
Karthik Ravi Shankar f66b654795
Revert "Revert "Fold opencensus into grpc_impl namespace"" 2019-03-15 11:30:23 -07:00
Karthik Ravi Shankar 2bf934f97d
Revert "Fold opencensus into grpc_impl namespace" 2019-03-15 10:20:06 -07:00
Karthik Ravi Shankar 90edf47fe9 Move server_posix from grpc to grpc_impl namespace 2019-03-14 14:26:25 -07:00
Karthik Ravi Shankar d8d8bec7c8 Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
This change moves ResourceQuota class fron grpc namespace to grpc_impl
namespace.

Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2019-03-14 12:24:25 -07:00
Vijay Pai 85f8e0f4b0
Merge pull request #18289 from vjpai/unimplemented_rpc
C++ callback API: properly handle and test unimplemented RPC method
2019-03-13 12:47:36 -07:00
Karthik Ravi Shankar 82c6e012d8
Revert "Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota"" 2019-03-12 14:01:05 -07:00
Karthik Ravi Shankar b3889585a1
Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota" 2019-03-12 12:25:38 -07:00
Karthik Ravi Shankar cc632f8121
Merge pull request #18220 from grpc/grpc_namespace
Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
2019-03-12 11:20:27 -07:00
Karthik Ravi Shankar 276c4dc593
Merge pull request #18223 from grpc/grpc_namespace_opencensus
Fold opencensus into grpc_impl namespace
2019-03-08 15:45:03 -08:00
Soheil Hassas Yeganeh ac9c67d851
Merge pull request #18229 from soheilhy/server-ctx-lock
Use grpc_core::RefCount for ServerContext.
2019-03-08 16:03:16 -05:00
Vijay Pai b7f14fdab8 Properly implement unimplemented RPCs at callback-only server 2019-03-06 23:43:34 -08:00
Vijay Pai 5030177c5c Add comment to address reviewer feedback 2019-03-06 18:17:11 -08:00
Karthik Ravi Shankar 5e5e337b03 fix from clang format code
Add fixes from clang_format_code.sh.
2019-03-06 10:21:37 -08:00
Karthik Ravi Shankar f7dd48b2b6 Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
This change moves ResourceQuota class fron grpc namespace to grpc_impl
namespace.
2019-03-06 10:12:23 -08: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
Karthik Ravi Shankar b606cad6cc Fold opencensus into grpc_impl namespace
Moving opencensus into grpc_impl namespace..
2019-03-04 15:47:37 -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
Soheil Hassas Yeganeh 059e104475 Use grpc_core::RefCount for ServerContext. 2019-03-02 23:25:18 -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 8feb16171a Add an expectation and fix a ServerContext bug 2019-02-25 00:48:11 -08:00
Vijay Pai bf2b0e5220
Merge pull request #18117 from vjpai/use_result
Avoid unused result warning
2019-02-20 23:21:13 -08:00
Vijay Pai 301ed88a43 Avoid unused result warning 2019-02-20 21:39:02 -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
Nguyen Hai Truong 9cf00ed80b Reformat some link and fix typos
Signed-off-by: Nguyen Hai Truong <truongnh@vn.fujitsu.com>
2019-02-20 23:19:33 +07: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 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
Nicolas "Pixel" Noble de332cfcee Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 22:11:47 +01:00
Yash Tibrewal 73353ad281 Merge branch 'master' into interceptorcleanup1 2019-02-13 12:47:47 -08:00
hcaseyal eecd983302
Merge pull request #18025 from soheilhy/callback-sync-cq
Reorder code to set num_frequently_polled_cqs correctly.
2019-02-13 12:39:11 -08:00
Srini Polavarapu f7f6861720
Merge pull request #18033 from srini100/master
Bump master to v1.20.x and pick "godric" for that release
2019-02-13 12:17:12 -08:00
Nicolas "Pixel" Noble 0c19be2fc8 Fixing cronet 2019-02-13 20:12:13 +01:00
Nicolas "Pixel" Noble 39d3b7335c Missed a spot. 2019-02-13 19:17:18 +01:00
Jan Tattermusch bc19ba1668
Merge pull request #18037 from xichengliudui/fixtypos
Fix various typos in .cc and .md and .py files
2019-02-13 13:24:34 +01:00
Srini Polavarapu b0efc103e3 Regenerate projects 2019-02-12 21:07:42 -08:00
Soheil Hassas Yeganeh 37c1f0bd54 Reorder code to set num_frequently_polled_cqs correctly.
When there num_frequently_polled_cqs is non-zero (aka hybrid server),
we create non-polling CQs for the sync methods. But, since we
increase num_frequently_polled_cqs for callback methods
after creating the sync CQs, the sync CQs would not detect
a hyprid server, and will create a polling CQ.

This commit reorders the logic, so that we increment
num_frequently_polled_cqs upon detecting a callback service.

This lowers the context switches by double digit percentage
when using callback API.
2019-02-12 23:04:41 -05:00
Nicolas "Pixel" Noble 63db582516 Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 00:19:23 +01:00
xichengliudui d9b508c896 Fix various typos in .cc and .md and .py files 2019-02-12 11:11:43 -05:00
Yash Tibrewal cddb5519f2 Add a test only method to reset global interceptor 2019-02-08 15:57:29 -08:00
Yash Tibrewal c71b2f4fb7 Global Interceptor Registration allowed only once 2019-02-07 19:36:51 -08:00
Yash Tibrewal e5eb3f8019
Merge pull request #17934 from yashykt/compressionlevel
Default compression level quick fix
2019-02-06 11:46:19 -08:00
Yash Tibrewal 84a537b1d1 Default compression level quick fix 2019-02-05 14:22:47 -08:00
Vijay Pai 45c684f894 Allow an alarm to be set again after firing 2019-02-05 14:07:40 -08:00
Vijay Pai 92d37b1273 SOFT_MAXIMUM is supposed to be per-server, not per-method 2019-02-02 09:14:05 -08:00
Vijay Pai 8521c0394b Address optional reviewer comments 2019-02-01 15:21:13 -08:00
Vijay Pai e56c832c0d Replace list of outstanding callback requests with count only 2019-02-01 13:44:50 -08:00
Yash Tibrewal 3a2cfe50ec Rever copyright changes 2019-01-28 16:18:49 -08:00
Yash Tibrewal 786598a6ff Merge branch 'master' into interceptorcqavalanching 2019-01-28 11:54:39 -08:00
Juanli Shen 6c543919ed
Merge pull request #17707 from kakshay21/akshay-fix-warning
Fix warning
2019-01-26 21:06:11 -08:00
Kumar Akshay 564be999de Fix warning
Fix clang format
2019-01-26 18:39:23 +05:30
Vijay Pai 7a164229db Address reviewer comments 2019-01-25 10:25:08 -08:00
Nicolas "Pixel" Noble cabbd35014 Reformat. 2019-01-24 23:42:12 +01:00
Yash Tibrewal 4dcb14ec9e Fix codegen_test_minimal 2019-01-24 13:05:05 -08:00
Nicolas "Pixel" Noble dffbe4a1eb Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-01-23 21:40:25 +01:00
Nicolas "Pixel" Noble 2fd079ff7c Channel folding. 2019-01-23 21:40:07 +01:00
Vijay Pai fab05d336c Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks 2019-01-23 11:21:50 -08:00
Lei Huang 3bd12ee2a8 grpc: init compression_algorithm_ in ClientContext ctor
`compression_algorithm_` could be a random value because not
initialized in ctor.
2019-01-17 16:22:30 -07:00
Juanli Shen 778be11865
Merge pull request #17629 from AspirinSJL/clean_sc_args
Remove filters from subchannel args
2019-01-07 20:11:40 -08:00
Yash Tibrewal 6e5eb4e5a3 Merge branch 'master' into failhijackedrecv 2019-01-04 14:03:37 -08:00
Juanli Shen 03431b4f69 Remove filters from subchannel args 2019-01-03 16:18:01 -08:00
Sanjay Pujare 94d5587643 Regenerate projects 2019-01-03 15:35:20 -08:00
Yash Tibrewal 24e37e249a Merge branch 'master' into failhijackedrecv 2018-12-26 15:10:41 -08:00
yang-g d6dd6f25f4 Correctly reference the internal string for socket mutator arg 2018-12-20 15:37:30 -08:00
easy 8279777167 Destruct CensusContext to avoid leaking memory.
Otherwise, the placement-new leaks context -> span_ -> impl_ which is
a std::shared_ptr.
2018-12-19 12:37:39 +11:00
Nicolas Noble 5748af6e18
Merge pull request #17468 from nicolasnoble/grpc_namespace
Moving ::grpc::Alarm to ::grpc_impl::Alarm.
2018-12-13 15:22:05 -08:00
Soheil Hassas Yeganeh 9decf48632 Move security credentials, connectors, and auth context to C++
This is to use `grpc_core::RefCount` to improve performnace.
This commit also replaces explicit C vtables, with C++ vtable
with its own compile time assertions and performance benefits.
It also makes use of `RefCountedPtr` wherever possible.
2018-12-13 10:38:12 -05:00
Nicolas "Pixel" Noble d550af373c Moving ::grpc::Alarm to ::grpc_impl::Alarm. 2018-12-12 16:48:32 +01:00
ncteisen c7f7db65e0 Add test and fix bug 2018-12-11 11:28:12 -08:00
Yang Gao b590167cf2
Merge pull request #17435 from yang-g/health_service_shutdown
Add a Shutdown call to HealthCheckServiceInterface
2018-12-07 13:15:30 -08:00
yang-g 2246607ded Review comments 2018-12-07 08:54:47 -08:00
yang-g f1f557bc43 Add a Shutdown call to HealthCheckServiceInterface 2018-12-06 16:16:58 -08:00
Vijay Pai 97de30d7b3 Allow the interceptor to know the method type 2018-12-06 15:51:31 -08:00
Vijay Pai 2a0c0d7ad6 Streaming API for callback servers 2018-11-30 16:14:21 -08:00
Vijay Pai ea1156da3f Stop exposing streaming object class 2018-11-30 04:13:40 -08:00
Vijay Pai d7eb26648d Client callback streaming 2018-11-30 04:13:40 -08:00
Yash Tibrewal b32d8f5d4d
Merge pull request #17219 from yashykt/cleanup
Make Pluck use the changes made in FinalizeResult
2018-11-20 15:23:27 -08:00
Yang Gao e4e564679b
Merge pull request #17154 from liutongxuan/master
g_default_client_callbacks shouldn't be global variable
2018-11-20 14:10:34 -08:00
Muxi Yan f3e4ae633e Regenerate projects 2018-11-19 15:24:53 -08:00
Yash Tibrewal 626f1c9d53 Remove the std::unique_ptr, instead use move semantics everywhere 2018-11-15 16:49:43 -08:00
Yash Tibrewal a9bee9b7ed Make Pluck use the changes made in FinalizeResult 2018-11-14 17:48:35 -08:00
Vijay Pai 0e29d7b9bc Properly clear metadata and other structs when reusing ServerContext 2018-11-13 12:44:56 -08:00
Yash Tibrewal 699c10386d Add method to fail recv msg for hijacked rpcs 2018-11-09 19:43:00 -08:00
tongxuan.ltx c21393e553 g_default_client_callbacks shouldn't be global variable
In tensorflow, RPC client thread doesn't active release,
rely on process to cleanup. If process have already
cleanup the global variable(g_default_client_callbacks),
after that client issue a RPC call which contains the ClientContext,
then once ClientContext destructor called,
pure virtual functions call error is reported.
2018-11-09 12:34:59 +08:00
Yang Gao ed6ea2cf7d
Merge pull request #17151 from arjunroy/grpc_memleak_fix
Fixed intermittent CPP sync server shutdown leak.
2018-11-08 15:57:48 -08:00
Vijay Pai 926b2941ab Pre-request 32 callbacks of each method 2018-11-08 12:11:57 -08:00
Arjun Roy bc3d6d21b7 Set call_ member variable to null after freeing. 2018-11-07 18:08:51 -08:00
Arjun Roy 843c8d9e75 Fixed intermittent CPP sync server shutdown leak.
Specifically: if a request handling thread is in flight but scheduled
out when shutdown is called on the server, but it has already passed
the shutdown check, then when it resumes it will add a grpc_call to
the completion queue that is leaked. We fix this by explicitly freeing
such calls after all worker threads have shutdown.

To manifest the leak, run the end2end::ClientCancelsRequestStream
test repeatedly on the unpatched server implementation. About 0.5% of
the time, the leak will manifest.
2018-11-07 17:39:07 -08:00
Vijay Pai 5cdf7a0cf7
Merge pull request #16805 from g-easy/ocplugin
GenerateServerContext: Don't use a parent context if it's invalid.
2018-11-07 11:50:44 -08:00
Yash Tibrewal 193b4b57ec
Merge pull request #17072 from yashykt/interceptor_cancellation
Interceptors should see a Cancellation notification
2018-11-06 14:56:24 -08:00
Vijay Pai 1e850944e9 Release the CallbackWithSuccessTag from a server context completionop 2018-11-06 11:49:17 -08:00
Vijay Pai 526d2e6004 Refactoring of CallbackWithSuccessTag 2018-11-06 11:20:50 -08:00
Yash Tibrewal 4cc3717e15 move client_interceptor.cc from src/cpp/codegen to src/cpp/client 2018-11-05 15:03:57 -08:00
Yash Tibrewal f8561952e9 Don't use default capture 2018-11-05 12:15:56 -08:00
Yash Tibrewal e08a2b387a Prefer lambda expressions over std::bind 2018-11-02 15:56:57 -07:00
Yash Tibrewal 3ac7f2d24c
Merge pull request #17053 from yashykt/global_interceptor
Add global client interceptor factory
2018-11-02 08:56:16 -07:00
Yash Tibrewal b732e9c403 Make client interceptors see notification even if Cancel was done before the RPC was issued. Also add tests 2018-11-01 16:14:40 -07:00
Yash Tibrewal fd88dcaf55 Add cancellation notification 2018-11-01 11:58:46 -07:00
Yash Tibrewal 3ece34d45c Let us clean a few things before getting started 2018-10-31 15:29:26 -07:00
Vijay Pai 932abf48a3 Address reviewer comments. 2018-10-31 01:02:07 -07:00
Vijay Pai 2f47137a6e Add support for IsCancelled check 2018-10-30 23:15:59 -07:00
Vijay Pai 47d0d5bf1f Merge branch 'master' into server_callback 2018-10-30 12:29:35 -07:00
Yash Tibrewal 0390b29e15 Register global interceptors functionality 2018-10-30 02:43:01 -07:00
Yash Tibrewal 3c1ca6bf39
Merge pull request #17034 from yashykt/interceptorcleanup
Get ClientContext included with ChannelInterface, and slight more cle…
2018-10-30 00:12:55 -07:00
Vijay Pai 84e763f10a Experimental C++ server callback unary API 2018-10-29 13:41:25 -07:00
Yash Tibrewal 145789e9ff interceptor_creators_ should be destroyed after health_check_service_ 2018-10-29 13:15:29 -07:00
Vijay Pai 371b1d99d5 Add call as param to MethodHandler::Deserialize to allow arena use 2018-10-29 02:10:00 -07:00
Yash Tibrewal 01313976e1
Merge pull request #16842 from yashykt/interceptors
Experimental API for Client and Server Interception
2018-10-28 23:36:59 -07:00
Yash Tibrewal c2e3fde9b5 Rename call.h to call_op_set.h and call_wrapper.h to call.h 2018-10-26 15:15:48 -07:00
ncteisen bc44c5e353 Add GetServer to channelz cpp 2018-10-26 12:58:04 -07:00
Yash Tibrewal cc21d32c77 Some cleanup 2018-10-26 00:13:55 -07:00
Yash Tibrewal 312feb4202 Adding generic rpc and unimplemented rpc test for server interceptors 2018-10-25 21:43:49 -07:00
Yash Tibrewal 3896dabb85 Merge branch 'master' into interceptors 2018-10-25 19:50:10 -07:00
Yash Tibrewal a094b7b312 Added server async tests 2018-10-25 19:24:30 -07:00
ncteisen 43df9fda64 un duplicate code 2018-10-25 09:46:34 -07:00
ncteisen 4fa389b137 Unifying grpc build hacks 2018-10-24 17:25:51 -07:00
ncteisen 482641501c Revert "Revert "Refactor Channelz Service to Support Internal Build""
This reverts commit 2eafaccba6.
2018-10-24 17:22:22 -07:00
Yash Tibrewal 281de1bb30 Solve memory leak due to double setting of set_server_rpc_info 2018-10-24 15:54:08 -07:00
Noah Eisen 2eafaccba6
Revert "Refactor Channelz Service to Support Internal Build" 2018-10-24 15:44:50 -07:00
Mark D. Roth 496d0676c8
Merge pull request #16507 from markdroth/health_checking_client
Health checking client
2018-10-24 13:17:01 -07:00
Mark D. Roth f85fd026e3 Client-side health checking support. 2018-10-24 12:29:04 -07:00
Vijay Pai 45dfbe097e Arena-allocate the ServerContext::CompletionOp 2018-10-24 02:11:50 -07:00
Yash Tibrewal 62280b42c7 Add client streaming, server streaming and bidi streaming tests 2018-10-23 21:08:39 -07:00
ncteisen 97134a69be Refactor to support internal build 2018-10-22 17:08:31 -07:00
Yash Tibrewal b358ef85dc Merge branch 'master' into interceptors 2018-10-22 10:39:27 -07:00
Yash Tibrewal 9b83b7d19e Adding intercepted channel 2018-10-22 02:42:03 -07:00
Yash Tibrewal 3a17f5b05e Working on tests 2018-10-21 23:06:21 -07:00
Vijay Pai ce4bd108ea Fix CallOpSet copy/assignment to reset cq_tag 2018-10-19 17:17:34 -07:00
Yash Tibrewal 456231b26d Server side interception for CompletionOp and AsyncRequest 2018-10-18 22:43:49 -07:00
Yash Tibrewal adca91f6cf Server interception for SyncRequest 2018-10-18 16:07:00 -07:00
Yash Tibrewal d042a5acf1 some tests fail 2018-10-17 22:05:48 -07:00
Yash Tibrewal 0b785ae8cf Remove unneeded file 2018-10-17 14:37:35 -07:00
Yash Tibrewal 196f530ac9 Pass interceptor creators to server object 2018-10-17 12:51:17 -07:00
Yash Tibrewal af621c7705 Add method to register server creators 2018-10-17 12:32:53 -07:00
Mark D. Roth 231b863922 address clang-tidy problems 2018-10-17 09:29:05 -07:00
Yash Tibrewal b232bacf27 Starting on server interceptors 2018-10-16 14:11:07 -07:00
Yash Tibrewal cc8c27950c Change types to use C++ types rather than core types 2018-10-16 14:10:48 -07:00
Yash Tibrewal 6fb7bd23bf s/GPR_ASSERT/GPR_CODEGEN_ASSERT and few more bugs 2018-10-16 14:10:30 -07:00
Yash Tibrewal 6f05a711e6 Adding a test 2018-10-16 14:10:17 -07:00
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