aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio_tests/tests/unit/_cython/_cancel_many_calls_test.py
Commit message (Collapse)AuthorAge
* Keep Core memory inside cygrpc.Channel objectsGravatar Nathaniel Manista2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes invocation-side completion queues from the _cygrpc API. Invocation-side calls are changed to no longer share the same lifetime as Core calls. Illegal metadata is now detected on invocation rather than at the start of a batch (so passing illegal metadata to a response-streaming method will now raise an exception immediately rather than later on when attempting to read the first response message). It is no longer possible to create a call without immediately starting at least one batch of operations on it. Only tests are affected by this change; there are no real use cases in which one wants to start a call but wait a little while before learning that the server has rejected it. It is now required that code above cygrpc.Channel spend threads on next_event whenever events are pending. A cygrpc.Channel.close method is introduced, but it merely blocks until the cygrpc.Channel's completion queues are drained; it does not itself drain them. Noteworthy here is that we drop the cygrpc.Channel.__dealloc__ method. It is not the same as __del__ (which is not something that can be added to cygrpc.Channel) and there is no guarantee that __dealloc__ will be called at all or that it will be called while the cygrpc.Channel instance's Python attributes are intact (in testing, I saw both in different environments). This commit does not knowingly break any garbage-collection-based memory management working (or "happening to appear to work in some circumstances"), though if it does, the proper remedy is to call grpc.Channel.close... which is the objective towards which this commit builds.
* Fix a use of nonexistent .received_cancelledGravatar Nathaniel Manista2018-04-17
| | | | | | .received_cancelled was changed to .cancelled() in 81edf5ff9af2d90813773acb9c2793e1a4cd1057; this change should have been a part of that change.
* Elide cygrpc.ChannelArg and cygrpc.ChannelArgsGravatar Nathaniel Manista2018-01-26
|
* Elide cygrpc.TimespecGravatar Nathaniel Manista2018-01-10
|
* Upgrade yapf to 0.20.0Gravatar Mehrdad Afshari2018-01-02
| | | | Upgrade yapf version to 0.20.0 and reformat Python files.
* Merge pull request #13891 from nathanielmanistaatgoogle/12531Gravatar Nathaniel Manista2017-12-31
|\ | | | | Reform cygrpc.OperationTag and cygrpc.Event.
* \ Merge branch v1.8.x into masterGravatar Mehrdad Afshari2017-12-31
|\ \ | | | | | | | | | Upmerge v1.8.3 into master
| | * Reform cygrpc.OperationTag and cygrpc.EventGravatar Nathaniel Manista2017-12-31
| |/ | | | | | | | | | | Rather than single classes they are now broken up into class families with each class containing only those fields and methods that are needed in the context in which the class is used.
| * Reform cygrpc.OperationGravatar Nathaniel Manista2017-12-21
| | | | | | | | | | | | | | | | | | It is now a family of classes conforming to an interface rather than a single class no single instance of which makes use of all behavior scoped to the class. It also now only uses gRPC Core memory for the time of a single batch rather than for the entire lifetime of the instance.
* | Disable so_reuseport for Python testsGravatar Ken Payson2017-12-20
|/
* Elide cygrpc.OperationsGravatar Nathaniel Manista2017-12-08
|
* Streamline metadata in gRPC PythonGravatar Nathaniel Manista2017-12-08
|
* auto-fix most of licensesGravatar Jan Tattermusch2017-06-08
|
* Re-run yapf code, and pin versionGravatar Ken Payson2017-02-06
|
* Run Python formattingGravatar Masood Malekghassemi2017-01-17
|
* Add parameter for server optionsGravatar Ken Payson2016-09-19
|
* Removed cython client-side call trackingGravatar Ken Payson2016-07-07
| | | | | | This ensures sync calls get cancelled after a keyboard interrupt, as well as all calls getting destroyed before grpc_shutdown()
* Organize Python tests to use grpcio-tools directlyGravatar Masood Malekghassemi2016-07-01
Moves all tests into a separate package. This does not change existing supported means of running tests (e.g. through run_tests.py).