Based on a handful of https://abseil.io/tips, it's generally advised to
only fully-qualify namespaces when in a `using` statement, or when it's
otherwise required for compilation. In all other cases, the general
recommendation is to not fully-qualify.
This change fixes most `grpc.*` namespace uses. There are potential
challenges in trying to make blanket changes to non-gRPC namespace uses,
such as `::testing`, since there is also a `grpc::testing` namespace.
This allows implementers to select which subset of the conformance test
suite they wish to exercise with their implementation. This was a
request from the fuchsia team, and may be useful for partial
implementations that are composed into a complete EventEngine solution.
* more reliable bazel installation for win bazel RBE builds
* win RBE build already using the same credentials
* also recognize MSYS_NT returned by kokoro workers
* transport: add error attributes indicating stream network state
* add missing case
* transparent retries
* don't use backoff timer for transparent retries
* fix build
* add retry_transparent_not_sent_on_wire test
* add retry_transparent_goaway test
* remove special case to short-circuit retry code if no retry policy
* clang-format
* buildifier
* simplify logic a bit
* get StreamNetworkState from metadata instead of error
* fix api_fuzzer to always start recv_trailing_metadata_ready
* clang-format
* fix test flakiness in proxy fixture
* add test with MAX_CONCURRENT_STREAMS
* don't transparently retry if we're already committed
* fix test to not reuse byte buffers
* clang-format
* disable retries for streams_not_seen_test
We previously have this restriction because some code does not compile
with older NDK version. Now the binder transport implementation loads
the library and resolves symbols at runtime so we don't need the
compile time restriction anymore (and in some case it is overly
restrictive)
Later we might consider remove the GPR_SUPPORT_BINDER_TRANSPORT symbol
and simply use GPR_ANDROID, once we become sure that binder transport
will always be available on Android at compile time.
* See what happens when we remove NDK
* Try to debug Kokoro in a super hacky way
* And echo the external IP too
* Attempt to fix NDK installation
* And actually run the portion of the code I need to test out
* Clean up
* Actually test against bazel 5
* Put export in proper file
* Make android an optional dependency
* Escape paths for Windows
* Revert switch to Bazel 5.0
* cleanup C# win artifact build
* build C# basictests on win with ninja
* specify default parallelism for C# win artifact
* honor GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS in build_artifact_python.bat
* set --inner_jobs for windows grpc_build_artifact job
* fixup C# build picking env variables from C core build
* get rid of no longer needed NativeDependenciesConfiguration C# setting
* WIP
* Add gevent test suite run under Bazel.
* Fix things up
* Yapf
* Fix up Bazel files
* Make py_grpc_test fancier
* Attempt to fix Windows RBE
* Attempt to kick GitHub
* Fix Python 2 runs
* Yet more fixes
* And the patch file too
* I am an idiot
* Mark gevent tests flaky
* Try to make rules_python more tolerant
* Typo
* Exclude reconnect test from gevent
* Remove unnecessary parts of patch
* Buildifier
* You saw nothing
* isort
* Move py_grpc_test to an internal-only file
* Review comments
* More reviewer comments
* Review
* Add initial changes for gevent
* WIP. Run completion_queue_next in a threadpool
* WIP.
* WIP
* Re-remove skip annotation
* Finally working
* Reactivate tests
* Clean up
* Move C++ threading utilities to grpc.pxi
* Unbreak sync stack
* Refix test flake
* WIP. Trying to get things working properly
* Move test stuff to test runner
* Clean up
* Can't handle exceptions if you don't compile with exceptions
* Remove debug stuff unintentionally left in
* Add greenlet switch loggging and fix threading issue
* Only run a greenlet scheduling greenlet when there are open channels
* Format
* Add threadpool modifications to old runner
* And actually import gevent
Ensures only one value for each key in channel args... may cause breakage for some usages where two values are being passed in a channel_arg and whatever arbitrary order we were reading them was used. Workarounds are in place for things we know about.
* Support musllinux binary wheels
* Skip aarach64 for now
* Consolidate the difference of mktemp
* Extend linux artifact building time && install bash for distribtest
* Stop using grpc.tools, use grpc_tools
* Update the README to use grpc_tools
* Force static link libc++ for alpine binaries
* Rebase recent build script changes
* Install ccache for musllinux distribtest images
* Revert timeout change to grpc_build_artifacts
* Set trailing_metadata_available for recv_initial_metadata ops when generating a fake status
* Remove log
* Fix
* Revert "Convert filter to a promise (#28815)"
This reverts commit 361809aabb.
* Add testing
Previously we'd use an explicit arena->Destroy() call to free memory.
This change makes the arena a scoped pointer, and in doing so lets the
grpc_metadata_batch destructors run prior to the arena being destroyed,
preventing a use-after-free we've seen in production code.