Karthik Ravi Shankar
e4b992ee48
Merge branch 'master' into migrate-client-context
2019-06-10 14:01:28 -07:00
Yash Tibrewal
6ed651356d
Fix typo
2019-06-07 16:28:31 -07:00
Karthik Ravi Shankar
522ddfe273
Move ClientContext to grpc_impl
...
ClientContext is another file which needs to be moved from grpc to
grpc_impl for referencing it.
2019-06-05 16:31:39 -07:00
yang-g
a874fd8bbb
Resolve review comments
2019-05-30 15:20:10 -07:00
yang-g
bd97b1361d
Delete wrapper in executor thread to avoid self-joining deadlock
2019-05-29 13:30:28 -07:00
yang-g
47dbf1dd26
Second approach
2019-05-28 23:47:29 -07:00
Karthik Ravi Shankar
40210d3b8a
Move Channel to grpc_impl
2019-05-17 09:12:33 -07:00
Karthik Ravi Shankar
3996599392
Fix clang script errors
2019-05-15 14:30:33 -07:00
Karthik Ravi Shankar
772a74aced
Revert changes to Channel
2019-05-15 14:24:17 -07:00
Karthik Ravi Shankar
3a31b96ef9
Fix error from make
2019-04-30 16:39:54 -07:00
Karthik Ravi Shankar
e3a0c85960
Merge branch 'master' into grpc_namespace_channel_new
2019-04-30 14:30:03 -07:00
Karthik Ravi Shankar
5f6a57a4d0
Formatting issues
2019-04-26 13:08:25 -07:00
Karthik Ravi Shankar
7fc86bd62f
Fix make errors
2019-04-24 10:40:41 -07:00
Karthik Ravi Shankar
360251f196
Fix make errors
2019-04-23 18:23:16 -07:00
Karthik Ravi Shankar
5274deb32b
Fix the rebase and build
2019-04-23 14:12:48 -07:00
Karthik Ravi Shankar
2049b6c2bd
Fix build errors
2019-04-23 14:04:17 -07:00
Karthik Ravi Shankar
60bdeef9f4
Move Channel also to impl for now
2019-04-23 14:03:06 -07:00
Karthik Ravi Shankar
8d2207da4d
WIP: New changes to make namespace work
2019-04-23 13:56:29 -07:00
Karthik Ravi Shankar
603d014f0e
Changes to fold credentials into grpc_impl from grpc
2019-04-23 13:54:26 -07:00
Karthik Ravi Shankar
858b5cca20
Fix clang_format_code.sh issues and move the internal calls to new name
2019-04-23 11:45:11 -07:00
Karthik Ravi Shankar
17ca558e13
Merge branch 'master' into grpc_namespace_channel_arguments
2019-04-23 11:38:13 -07: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
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
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
Karthik Ravi Shankar
dad3f34207
Revert "Revert "Revert "Folding the Channel class into the grpc_impl namespace."""
2019-04-10 12:14:04 -07:00
Yash Tibrewal
8e195ddeb9
Merge branch 'master' into lamechannelinterception
2019-04-09 15:30:16 -07:00
Karthik Ravi Shankar
5a08d2aae7
Merge branch 'master' into revert-18076-revert-17797-channel
2019-04-09 08:22:37 -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
9875fabdd4
Merge branch 'master' into revert-18076-revert-17797-channel
2019-04-08 12:55:07 -07:00
Karthik Ravi Shankar
9b42ab79e0
Make build fixes for bazel build :all
2019-04-04 16:40:16 -07:00
Karthik Ravi Shankar
5b1bf21090
Merge pull request #18434 from grpc/grpc_namespace_generic_stub
...
Fold GenericStub from grpc_impl to grpc
2019-04-04 13:46:44 -07:00
Karthik Ravi Shankar
e642e175e7
Merge pull request #18374 from grpc/grpc_namespace_channel_create
...
Moving create_channel from grpc to grpc_impl
2019-04-03 13:56:19 -07:00
Yash Tibrewal
cb6a2968fe
Make Interceptors work for lame channels
2019-04-03 11:55:04 -07:00
Karthik Ravi Shankar
3d6f118a5f
Merge branch 'master' into grpc_namespace_generic_stub
2019-04-01 13:52:27 -07:00
Karthik Ravi Shankar
3354f2c5a7
Merge pull request #18373 from grpc/grpc_namespace_channel_create_posix
...
Move create_channel_posix from grpc to grpc_impl namespace
2019-03-29 10:17:59 -07:00
Karthik Ravi Shankar
b2d9d7c8be
Merge branch 'master' into grpc_namespace_channel_create
2019-03-29 08:46:27 -07:00
Vijay Pai
fb5c385208
Remove unneeded header files
2019-03-27 16:46:01 -07:00
Karthik Ravi Shankar
40440b9f9c
Merge branch 'master' into grpc_namespace_generic_stub
2019-03-27 14:42:02 -07:00
Karthik Ravi Shankar
20f3e29d41
Merge branch 'master' into grpc_namespace_channel_create
2019-03-27 12:33:02 -07:00
Karthik Ravi Shankar
4b0175f2c8
Fix errors from clang_format_code.sh
2019-03-25 15:53:22 -07:00
Karthik Ravi Shankar
130962490b
Make changes to fix test failures
2019-03-25 15:52:42 -07:00
Karthik Ravi Shankar
526bf39f89
Fold GenericStub from grpc_impl to grpc
2019-03-19 12:34:30 -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
Nicolas Noble
91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace.""
2019-02-27 16:53:23 -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
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
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
Nicolas "Pixel" Noble
cabbd35014
Reformat.
2019-01-24 23:42:12 +01: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
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
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
Vijay Pai
97de30d7b3
Allow the interceptor to know the method type
2018-12-06 15:51:31 -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
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
Yash Tibrewal
626f1c9d53
Remove the std::unique_ptr, instead use move semantics everywhere
2018-11-15 16:49:43 -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
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
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
Yash Tibrewal
0390b29e15
Register global interceptors functionality
2018-10-30 02:43:01 -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
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
0b785ae8cf
Remove unneeded file
2018-10-17 14:37:35 -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
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
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
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
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
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
Mark D. Roth
f7e72560b6
Add experimental API for resetting connection backoff.
2018-08-06 14:46:53 -07:00
Yihua Zhang
acc6ba0c24
Add C++ wrapper for local credentials
2018-07-24 12:00:49 -07:00
Ian Haken
68eff58df6
Create verify_peer_options when creating ssl credentials in order to expose a verification callback option.
...
These options are not yet exposed to languages outside of core.
2018-06-12 12:59:37 -07:00
Yihua Zhang
fe2fa0c1c8
Add C++ experimental API extensions for ALTS C stack
2018-04-16 15:11:32 -07:00
Vijay Pai
7fed69b7ad
Use static_cast rather than reinterpret_cast whenever possible
2018-03-05 16:35:10 -08:00
Vijay Pai
da69355f30
C++ize gpr_thread as grpc_core::Thread, make it 2-phase init (construct/Start)
2018-02-19 22:39:58 -08:00
Muxi Yan
0e00c43082
Move headers from grpc++ to grpcpp
2018-02-15 14:49:34 -08:00
Vijay Pai
c745690caf
Internalize gpr_thd except for id and currentid
2018-02-12 11:44:52 -08:00
Vijay Pai
239b7d4b0b
Merge branch 'master' into gpr_review
2018-02-08 11:08:41 -08:00
Vijay Pai
d4d0a30c6f
Privatize useful.h and avl.h
2018-02-02 09:16:44 -08:00
David Garcia Quintas
a21ab2ba29
Fix compression algorithm accessors
2018-02-01 16:24:00 -08:00
Mark D. Roth
dbdf495f61
Split lib/support into lib/gpr and lib/gpr++.
2018-01-18 11:21:12 -08:00
Jan Tattermusch
c9ec2c0888
Revert "Stop using std::thread in C++ library since it can trigger exceptions"
2018-01-12 10:16:22 +01:00
Vijay Pai
5dd32268be
Switch C++ sync server to use gpr_thd rather than std::thread and provide resource exhaustion mechanism
2018-01-08 10:02:38 -08:00
Craig Tiller
be98d24841
clang-format after nullptr changes
2017-11-10 15:26:57 -08:00
Craig Tiller
4ac2b8e585
Enable clang-tidy as a sanity check, fix up all known failures
2017-11-10 14:14:17 -08:00
Craig Tiller
baa14a975e
Update clang-format to 5.0
2017-11-03 09:09:36 -07:00
Yuchen Zeng
b16df75471
Update with internal C++ interfaces
2017-10-30 12:09:16 -07:00
Yuchen Zeng
6a48dc544e
Remove c++ channel connectivity watcher
2017-10-30 12:06:52 -07:00
Vijay Pai
7a648854e9
Adopt the static factory pattern ( #10 )
...
* Switch sync streams from "struct internal" to static factory in namespace internal
* Reduce diff size
* fix friends
* Use static factory pattern for async unary calls
* Use static factories for async streams
* clang-format
2017-10-27 10:22:51 -07:00
Vijay Pai
06e174a088
Separate public and internal C++ interfaces
2017-10-26 14:28:26 -07:00
Vijay Pai
53cec0fc8f
Update create_channel.cc
2017-10-17 06:46:19 -07:00
Krasimir Georgiev
1f42fae4c5
Fix initialization bug in channel creation
2017-10-17 08:38:20 +02:00
ncteisen
520cc8f555
Fix ClangTidy
2017-09-29 10:37:45 -07:00
Mark D. Roth
ede8ed2156
Merge pull request #12374 from markdroth/plugin_credentials_api_fix
...
Change plugin credentials API to support both sync and async modes
2017-09-29 07:26:50 -07:00
yang-g
cfd20c4262
Add CompositeCallCredentials
2017-09-28 22:00:35 -07:00
Mark D. Roth
61b26f97b0
Code review changes.
2017-09-28 08:40:03 -07:00
Mark D. Roth
b4c01f9e29
Merge remote-tracking branch 'upstream/master' into plugin_credentials_api_fix
2017-09-25 12:36:30 -07:00
Vijay Pai
2046d0b3c5
Add unary call mode to GenericStub to allow generic RPC with 1 CQ trip
2017-09-21 22:23:44 -07:00
Yash Tibrewal
9eb8672bbe
Removing deprecated string to char * conversions
2017-09-17 23:55:58 -07:00
Vijay Pai
4b047a3bff
Construction of streams shouldn't require triggering async ops
2017-09-14 17:55:13 -07:00
Mark D. Roth
0aee498525
Merge remote-tracking branch 'upstream/master' into plugin_credentials_api_fix
2017-09-08 08:01:29 -07:00
Mark D. Roth
1ff6ee12cc
clang-format
2017-09-06 14:56:18 -07:00
Yuchen Zeng
26b0a34fbe
Address review comments
2017-09-05 13:32:44 -07:00
Yuchen Zeng
5150cbd02d
Fix timer shutdown process
2017-09-01 23:05:15 -07:00
Mark D. Roth
2caf021772
Change plugin credentials API to support both sync and async modes.
2017-09-01 15:04:13 -07:00
Yuchen Zeng
4a11ecc076
Add ChannelConnectivityWatcher::Ref()/Unref()
2017-08-25 15:17:45 -07:00
Yuchen Zeng
ba23e799dc
Sanity fixes
2017-08-24 23:13:09 -07:00
Yuchen Zeng
504be5c693
Privatize ChannelConnectivityWatcher members
2017-08-24 17:47:43 -07:00
Yuchen Zeng
ddaef3e325
Remove non-POD global variables
2017-08-24 15:34:52 -07:00
Yuchen Zeng
f1d50983ae
Document GRPC_DISABLE_CHANNEL_CONNECTIVITY_WATCHER
2017-08-24 12:08:03 -07:00
Yuchen Zeng
33845d08d4
Check env variable
2017-08-24 03:28:51 -07:00
Yuchen Zeng
b4481a9a13
Share one monitoring thread between channels
2017-08-24 03:13:42 -07:00
Yuchen Zeng
bfb4e06e3c
Check connectivity intermittently
2017-08-23 23:47:15 -07:00
Yuchen Zeng
4d88416c11
Remove atm in ChannelConnectivityWatcher
2017-08-23 15:20:01 -07:00
Yuchen Zeng
a2e506e8d9
Avoid using timers
2017-08-22 20:46:52 -07:00
Yuchen Zeng
6a6d618034
Prevent watching unsuppoted channels
2017-08-22 18:56:25 -07:00
Yuchen Zeng
2411bacd04
Address review comments
2017-08-22 18:56:25 -07:00
Yuchen Zeng
ee3e3310bb
Add reconnect channel tests
2017-08-22 18:56:25 -07:00
Yuchen Zeng
be9b814240
Add ChannelConnectivityWatcher
2017-08-22 18:56:25 -07:00
Garret Kelly
9663d0337e
Add a GrpcLibraryInitializer to client_context.cc
...
It's feasible that a program be written/linked such that it only use
ClientContext from grpc++, which could end up with the other instances
of GrpcLibraryInitializer not ending up in the final binary. Add a
GrpcLibraryInitializer to client_context.cc to ensure that the library
is initialized. The primary side-effect of the library not being
initialized when only using a ClientContext is that the destructor for
ClientContext indirectly ends up trying to call through
g_core_codegen_interface when destructing its metadata, which is null.
2017-07-31 15:07:59 -04:00
Vijay Pai
6abd20020b
Revert "Separate internal-only and public parts of C++ API"
2017-07-25 00:43:30 -07:00
Vijay Pai
c0baec60a1
Internalize structs and methods meant for being exposed through codegen
...
or that interface with core and are only for internal use
2017-07-10 14:33:53 -07:00
Jan Tattermusch
7897ae9308
auto-fix most of licenses
2017-06-08 11:22:41 +02:00
Craig Tiller
d4e9a4863a
Convert all async client stream types to not allocate
2017-04-05 15:41:59 -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
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
7c70b6c144
Revert "Revert "Metadata handling rewrite""
...
This reverts commit 5e01e2ac97 .
2017-01-23 07:48:42 -08:00