Prefix BoringSSL APIs with _GRPC_ by default on iOS, by actually isolating it against other libraries with might include openssl themselves and therefore allowing to embed gRPC on iOS completely mind free.
This patch essentially does what has already been done for cocoapods ( see https://github.com/grpc/grpc/pull/21194 ).
The iterator returns a newly-constructed `std::pair<absl::string_view, absl::string_view>`.
Compiled with `-Wrange-loop-bind-reference` on iOS due to new dependencies for
iOS tests.
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* Promises loop construct
* build
* Changes to sync required for promise activities
* sanitized
* add comments
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
This temporarily unblocks a related gtest upgrade. The ultimate goal is
to upgraade our gtest dependencies, but I don't have the cycles to
manage a potentially messy migration until at least next week. This PR
is coordinated with an internal change.
Internal bug b/170934515
In some cases, calling CQ::Next will return true without passing up a
new tag value, which is very much illegal. My expectation is that this
is due to messing up between SHUTDOWN and TIMEOUT in lower layer code
that doesn't particularly matter much to most callers, but was being
erroneously checked here.
This PR added receiveMessage(s) API on GRPCUnaryProtoCall for manually receiving messasges when flow control is enabled:
* Implementation for GRPCUnaryProtoCall:receiveMessage(s) by chaining calls to GRPCStreamingProtoCall instance
* Added finish API on GRPCUnaryProtoCall
* On [GRPCUnaryProtoCall start], avoid closing streaming RPC if flow control is enabled.
* internal call to receiveMessage is removed since message is automatically received if flow control not enabled.
3 Unit tests added to InteropTests suite for validating unary call API with flow control
- testUnaryRPCWithV2APIFlowControl
- testUnaryRPCWithV2APIFlowControlNotReceivingMessage
- testPingPongUnaryRPCWithFlowControl
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* Promises if construct
* build
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Promise helpers, and basic type erasure
* Promise map operator - change return type via a function
* build
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fix build
* review feedback
* Automated change: Fix sanity tests
* comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
It caused failure:
Traceback (most recent call last):
File "tools/run_tests/run_xds_tests.py", line 3096, in <module>
datetime.datetime.now().astimezone().strftime("%Y-%m-%dT%H:%M:%S %Z"))
ValueError: astimezone() cannot be applied to a naive datetime
See code commentary for an explanation.
Add an additional constructor to allow `log_linux.cc` to compile with
GPR_PTHREAD_TLS. Without it:
```
../../third_party/grpc/src/core/lib/gpr/log_linux.cc:78:33: error: no viable conversion from 'int' to 'grpc_core::PthreadTlsImpl<long>'
static GPR_THREAD_LOCAL(long) tid = 0;
^ ~
../../third_party/grpc/src/core/lib/gpr/tls.h:64:3: note: candidate constructor not viable: no known conversion from 'int' to 'const grpc_core::PthreadTlsImpl<long> &' for 1st argument
PthreadTlsImpl(const PthreadTlsImpl&) = delete;
^
1 error generated.
```
These Java code will be invoked by binder transport C++ implementation
through JNI to establish the connection between client and server.
The code is locally tested with other pending changes to make sure it
works correctly.
For now we only make sure it builds in CI. We will port proper tests
from internal repository later.
A new local repository is created for the Android-only Java code because
1. The analysis of its BUILD will fail without Android SDK configured
2. We want to prevent clang-tidy (and maybe other scripts)'s automatic
expansion of '...' to include it as they typically don't have Android
SDK installed
* xds/testing: print timestamp of commands in xds tests cripts to help debug timeout failures
There were recently many kokoro timeout, after job running for 6 hours.
In those, the run_xds_tests.py only ran less then 2 hours.
There was no enough timestamp to find what was taking so long (either
run_xds_tests.py is stuck, or something before it took too long). This
should add more timestamps to help debug.
* print script start time
* format
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* build
* Changes to sync required for promise activities
* sanitized
* remove bad comment
* possible windows fix?
* fix
* ugh
* comment fix
* fix build
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Promise helpers, and basic type erasure
* build
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* suppressions
* try to fix windows failure
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>