aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi
Commit message (Collapse)AuthorAge
* Support gRPC Python client-side fork with epoll1Gravatar Eric Gribkoff2018-08-22
| | | | | | | | | | | | | | | | | A process may fork after invoking grpc_init() and use gRPC in the child if and only if the child process first destroys all gRPC resources inherited from the parent process and invokes grpc_shutdown(). Subsequent to this, the child will be able to re-initialize and use gRPC. After fork, the parent process will be able to continue to use existing gRPC resources such as channels and calls without interference from the child process. To facilitate gRPC Python applications meeting the above constraints, gRPC Python will automatically destroy and shutdown all gRPC Core resources in the child's post-fork handler, including cancelling in-flight calls (see detailed design below). From the client's perspective, the child process is now free to create new channels and use gRPC.
* TLS session resumption support for Python clientsGravatar Santosh Ananthakrishnan2018-06-07
| | | | | | | | This change adds an experimental ssl_session_cache_lru function to the Python API that returns an encapsulated grpc_ssl_session_cache (#14483). Python clients may use this object as an argument for the grpc.ssl_session_cache channel option if they wish to cache and resume TLS sessions with a server.
* Replace GRPC_COMPRESS_MESSAGE_* with GRPC_COMPRESS_*Gravatar Muxi Yan2018-02-06
|
* Merge pull request #14107 from nathanielmanistaatgoogle/12531Gravatar Nathaniel Manista2018-01-26
|\ | | | | Elide cygrpc.ChannelArg and cygrpc.ChannelArgs.
| * Elide cygrpc.ChannelArg and cygrpc.ChannelArgsGravatar Nathaniel Manista2018-01-26
| |
* | Merge remote-tracking branch 'upstream/master' into ↵Gravatar Muxi Yan2018-01-19
|\| | | | | | | fix-stream-compression-config-interface
| * Elide cygrpc.TimespecGravatar Nathaniel Manista2018-01-10
| |
| * 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.
* | | Merge remote-tracking branch 'upstream/master' into ↵Gravatar Muxi Yan2017-12-13
|\| | | | | | | | | | | fix-stream-compression-config-interface
* | | More message compression level clean-upGravatar Muxi Yan2017-12-11
| | |
| * | Merge remote-tracking branch 'origin/v1.8.x'Gravatar Mehrdad Afshari2017-12-11
| |\|
* | | Merge remote-tracking branch 'upstream/master' into ↵Gravatar Muxi Yan2017-12-08
|\| | | | | | | | | | | fix-stream-compression-config-interface
| | * Elide cygrpc.OperationsGravatar Nathaniel Manista2017-12-08
| | |
| | * Streamline metadata in gRPC PythonGravatar Nathaniel Manista2017-12-08
| | |
| * | virtual destructor in exec_ctx, remove unneeded flush in grpc_shutdown and ↵Gravatar Yash Tibrewal2017-12-07
| |/ | | | | | | remove grpc_exec_ctx from .pxi files in python
* | Merge remote-tracking branch 'upstream/master' into ↵Gravatar Muxi Yan2017-10-06
|\| | | | | | | fix-stream-compression-config-interface
* | Fix Python buildGravatar Muxi Yan2017-10-02
| |
| * Drop unused staticmethodsGravatar Nathaniel Manista2017-09-28
| |
| * Raise exception instances rather than classesGravatar Nathaniel Manista2017-09-28
|/
* Fix cython definition to match c definitionGravatar Ken Payson2017-09-19
| | | | | This is required to compile with Cython options that are more strict about const correctness.
* Fix metadata memory leakGravatar Nathaniel Manista2017-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | The gRPC Core has two styles for passing metadata: as an integer count along with a grpc_metadata* pointer, which is used for passing metadata into the core, and as a grpc_metadata_array, which is used for passing metadata out of the core. The Cython layer of gRPC Python was using a single data structure wrapping grpc_metadata_array for both purposes, but this was complex because the core manages the slices contained in grpc_metadata_array objects (at least those of which it is aware), so the Cython layer had to keep track of whether or not the core was aware of the slices it was using (and it was also defective, leaking slices). This is solved by realigning with the Cython layer’s intended design of mirroring as closely as possible in Python the gRPC Core API: we use one structure for passing metadata into the core (what is now called cygrpc.Metadata) and second, different structure for receiving metadata out of the core (what was called cygrpc.Metadata but is now cygrpc.MetadataArray, reflecting that it wraps the core’s grpc_metadata_array). All bug fixes should contain added tests preventing regression but this doesn't because I don't know at this time how to write a does-not-leak test for Python that fits well into our existing body of tests. Phooey. Thanks to Dominik Janků (djanku@email.cz) for investigation and an earlier draft of a solution.
* auto-fix most of licensesGravatar Jan Tattermusch2017-06-08
|
* Merge github.com:grpc/grpc into rollfwdGravatar Craig Tiller2017-01-26
|\
| * Really fix python.Gravatar Mark D. Roth2017-01-26
| |
| * Fix cython bug.Gravatar Mark D. Roth2017-01-25
| |
| * Move parameters for all grpc_op types into their own sub-structs.Gravatar Mark D. Roth2017-01-25
| |
* | Merge github.com:grpc/grpc into rollfwdGravatar Craig Tiller2017-01-24
|\|
| * Merge pull request #9428 from grpc/revert-8842-metadata_filterGravatar David G. Quintas2017-01-23
| |\ | | | | | | Revert "Metadata handling rewrite"
* | | Revert "Revert "Metadata handling rewrite""Gravatar Craig Tiller2017-01-23
| |/ |/| | | | | This reverts commit 5e01e2ac977655aa074faf7fde0a74298f5e4c55.
* | Revert "Metadata handling rewrite"Gravatar Craig Tiller2017-01-20
| |
| * Add __richcmp__ to cygrpc.TimespecGravatar Masood Malekghassemi2017-01-20
|/
* Fix Python memory errorsGravatar Masood Malekghassemi2017-01-19
| | | | ... but for real this time.
* Fix Python errorsGravatar Masood Malekghassemi2017-01-17
|
* Paper-over Python errorsGravatar Masood Malekghassemi2017-01-13
| | | | | | | This reads directly off of the slices rather than ref'ing and unref'ing them. There's likely some silliness w.r.t. interned slices and references to them outliving their associated call objects, but we are just ignoring that for now.
* Begin patching CythonGravatar Masood Malekghassemi2016-12-07
|
* s/gpr_slice/grpc_slice, and move around tests, implsGravatar Craig Tiller2016-10-26
|
* Merge pull request #8127 from kpayson64/allow_pointersGravatar kpayson642016-10-13
|\ | | | | Allow pointer channel args python
| * Allow pointer channel args pythonGravatar Ken Payson2016-10-13
| |
* | Expose GRPC_ARG_MAX_SEND_MESSAGE_LENGTH channel arg in python.Gravatar Mark D. Roth2016-09-22
|/
* Change wrapped languages to use the new channel arg macro name.Gravatar Mark D. Roth2016-08-31
|
* Switch init/shutdown: lib-wide -> per-objectGravatar siddharthshukla2016-08-05
| | | | Incremental changes towards PyPy support.
* Hold onto the GIL in __dealloc__ functionsGravatar Ken Payson2016-07-11
| | | | | | | When a child thread triggers __dealloc__ as part of a thread being joined, the thread is already considered to be "joined", and so releasing the GIL can allow the main thread to proceed to exit, which introduces shutdown race conditions/memory leaks.
* Check Python ByteBuffer reader init statusGravatar Masood Malekghassemi2016-07-01
|
* Changed default string type to be strGravatar Ken Payson2016-06-29
| | | | | | | | | This impacts the following APIs: Metadata: Key is always a str, Value is bytes for binary metadata, str otherwise Call Details: str type gRPC method: str type hostname/target: str type
* Rename FATAL_FAILURE SHUTDOWNGravatar Nathaniel Manista2016-06-16
|
* Initial Python3 supportGravatar Ken Payson2016-06-10
| | | | | | | | Notable Changes: -Convert all str types to byte types at cython layer (ascii encoding) -Use six for packages that have different names in Python2/Python3 -By default, unit tests are compiled/run in Python2.7 and Python3.4 -Ensure MACOSX_BUILD_TARGET is at least 10.7
* Merge pull request #6711 from thought-machine/fix_read_leakGravatar Jan Tattermusch2016-06-03
|\ | | | | Fix memory leak reading from python ByteBuffer.