Commit Graph

296 Commits

Author SHA1 Message Date
Richard Belleville 3db8828876 Add TODOs for prefix stripping 2019-08-06 15:24:09 -07:00
Richard Belleville 79611aca51 Fix up unit test 2019-08-05 17:25:16 -07:00
Richard Belleville e32980fba2 Quit waiting for a day 2019-08-05 16:19:49 -07:00
Richard Belleville 66114201b4 Modernize cancellation example 2019-08-02 15:11:06 -07:00
Richard Belleville e1980a7a5a Merge remote-tracking branch 'origin/master' into py_proto_library 2019-08-02 15:02:31 -07:00
Richard Belleville 2b7ec3ad23 Fix up examples. 2019-08-01 16:18:45 -07:00
Richard Belleville 7b2c8c27b0 Separate py_grpc_library and py_proto_library.
By popular demand, we'll now be offering separate py_grpc_library and
py_proto_library targets sharing the same interface as within google3.
This change necessitated some modifications to how we pull in our own
Python-level dependencies and how we make those available to those
pulling in our project via Bazel.

There is now a grpc_python_deps() Bazel workspace rule that pulls in the
appropriate dependencies, which should be called from the client
project's WORKSPACE file. A test has been added to the bazel/test/
directory to verify that this behavior works as intended.

It's worth noting that the protobuf repository's usage of Starlark
bind() caused a great deal of trouble in ensuring that we could also
pull in six.

This change also required a change in the way generated proto code is
imported in the channelz and health-check modules, as well as in their
associated tests. We were importing them two different ways, each
relative. This resulted in two different module objects being imported
into the process, which were incompatible. I am not sure exactly what
caused this behavior to begin, as this should have been possible before
this PR. As a workaround, I am simply trying two different absolute
imports and using the one that works. This should function both inside
and outside of Bazel environments.
2019-08-01 15:16:22 -07:00
Richard Belleville 805afe647d Copyright typo 2019-07-08 11:42:21 -07:00
Richard Belleville 79e78d16f7 Pylint 2019-07-08 11:09:44 -07:00
Richard Belleville ba39c9255c Adopt reviewer's comments 2019-07-08 10:00:36 -07:00
Richard Belleville 61c2f0c379 Merge remote-tracking branch 'origin/master' into cancellation_example 2019-07-03 18:08:10 -07:00
Richard Belleville 915e97b115 Fix main thread starvation issues 2019-06-26 13:16:02 -07:00
Richard Belleville 1db141accc Change section title 2019-06-26 09:51:44 -07:00
Lidi Zheng ce41cde908 Fix string/bytes problem && lint 2019-06-26 09:46:05 -07:00
Richard Belleville 25f3439c91 Make whole package testonly 2019-06-26 09:45:47 -07:00
Richard Belleville 7486026eb9 Annotate the proto file 2019-06-26 09:42:55 -07:00
Richard Belleville 4100084c78 Use six for compatibility in client 2019-06-26 09:37:33 -07:00
Richard Belleville 7fa7f932e3 Pull search algorithm out into another module 2019-06-26 09:32:58 -07:00
Richard Belleville 42b2fe154a Simplify search implementation 2019-06-26 09:21:29 -07:00
Richard Belleville 2bf4d502c1 Factor out simpler generator 2019-06-26 09:06:07 -07:00
Richard Belleville fed1c629e0 Make compatible with Python 3 2019-06-25 16:07:49 -07:00
Richard Belleville 81f42031c6 Pylint 2019-06-25 15:58:06 -07:00
Richard Belleville edbddf25ab Typos 2019-06-25 15:49:31 -07:00
Richard Belleville 786a3acab0 Add test 2019-06-25 14:20:07 -07:00
Richard Belleville 93d6344ac6 Add todo 2019-06-25 13:25:54 -07:00
Richard Belleville dc8dba8afe Add docstrings 2019-06-25 13:19:02 -07:00
Richard Belleville 8f1bfdab55 Yapf 2019-06-25 13:01:22 -07:00
Richard Belleville b12299701d Clean up logging 2019-06-25 13:00:09 -07:00
Richard Belleville 4c852bf25f Cancel RPCs after a hash limit has been reached 2019-06-25 12:50:10 -07:00
Richard Belleville b9cc2c210f Explain how we take care of servicer threads 2019-06-25 11:15:43 -07:00
Richard Belleville cdae8ca6ad Add intro about algorithm 2019-06-25 11:11:03 -07:00
Richard Belleville 82aa4068c7 Elaborate on cancelling streaming RPCs 2019-06-25 11:02:10 -07:00
Richard Belleville 4ee154dd53 Elaborate on unary cancellation 2019-06-25 10:50:04 -07:00
Richard Belleville c9e83db6bc Implement streaming on the client side 2019-06-25 10:34:48 -07:00
Lidi Zheng 7b82924066 Update module import according to name changes 2019-06-25 10:20:25 -07:00
Richard Belleville b6a5e94f71 Respond to ctrl+c on client side 2019-06-25 09:36:49 -07:00
Richard Belleville 244279cb36 Add client CLI 2019-06-25 09:07:46 -07:00
Lidi Zheng aa567e5364 Adopt reviewer's advices 2019-06-24 17:58:11 -07:00
Lidi Zheng 5f98b1e8ef Fix 2/3 str/bytes compatibility issue 2019-06-24 17:13:42 -07:00
Richard Belleville b31431aea3 Switch over to a generator 2019-06-24 16:49:35 -07:00
Lidi Zheng 12c296b3dc [Python] Add authentication extension example 2019-06-24 16:39:51 -07:00
Richard Belleville 7dccc07c2a Start writing README 2019-06-24 16:02:34 -07:00
Richard Belleville 335e655a78 Free up server thread upon cancellation 2019-06-24 15:51:16 -07:00
Richard Belleville 32944fdeb2 Lay out bones of example 2019-06-24 13:56:56 -07:00
Richard Belleville 00ad30c804 Merge pull request #19421 from gnossen/python_compression_example
Python Compression Example
2019-06-21 15:23:07 -07:00
Richard Belleville 8fb51946bf Fix multiprocessing example for MacOS.
A closer reading of the API for getsockopt revealed that we were
depending on an implementation detail of getsockopt on Linux. This
assumption breaks down on MacOS.

getsockopt merely guarantees that it will return on 0 in case of failure
and a value greater than 0 in case of success. There is no guarantee as
to *which* non-zero value you will receive. On Linux, it seems to be 1,
the value which was explicitly set. On MacOS, it seems to be the value
of the FLAG which was set, i.e. 512 for SO_REUSEPORT.

This commit ensures the check we use does not rely on either of these
implementation details.
2019-06-21 14:01:27 -07:00
Richard Belleville 624839b704 Add example Python server using compression. 2019-06-21 13:59:01 -07:00
Nicolas Noble 21c4e7d9f2 Merge pull request #19258 from nicolasnoble/bazel-0.26
Upgrading to bazel 0.26
2019-06-21 09:36:20 -07:00
Nicolas "Pixel" Noble 929f151016 Cherry-picking #19349 in. 2019-06-17 22:42:08 +02:00
Lidi Zheng 9bd526260a Remove unused imports 2019-06-14 16:49:53 -07:00