diff --git a/bazel/experiments.bzl b/bazel/experiments.bzl index 627fb695b3ac2..a72bc4ddd874c 100644 --- a/bazel/experiments.bzl +++ b/bazel/experiments.bzl @@ -23,6 +23,7 @@ EXPERIMENT_ENABLES = { "event_engine_application_callbacks": "event_engine_application_callbacks", "event_engine_client": "event_engine_client", "event_engine_dns": "event_engine_dns", + "event_engine_dns_non_client_channel": "event_engine_dns_non_client_channel", "event_engine_listener": "event_engine_listener", "free_large_allocator": "free_large_allocator", "local_connector_secure": "local_connector_secure", @@ -39,13 +40,13 @@ EXPERIMENT_ENABLES = { "time_caching_in_party": "time_caching_in_party", "trace_record_callops": "trace_record_callops", "unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size", - "work_serializer_clears_time_cache": "work_serializer_clears_time_cache", "work_serializer_dispatch": "work_serializer_dispatch", } EXPERIMENT_POLLERS = [ "event_engine_client", "event_engine_dns", + "event_engine_dns_non_client_channel", "event_engine_listener", ] @@ -55,6 +56,7 @@ EXPERIMENTS = { }, "off": { "core_end2end_test": [ + "event_engine_dns_non_client_channel", "local_connector_secure", "server_listener", ], @@ -108,6 +110,7 @@ EXPERIMENTS = { }, "off": { "core_end2end_test": [ + "event_engine_dns_non_client_channel", "local_connector_secure", "server_listener", ], @@ -145,7 +148,7 @@ EXPERIMENTS = { }, "off": { "core_end2end_test": [ - "event_engine_client", + "event_engine_dns_non_client_channel", "local_connector_secure", "server_listener", ], @@ -153,9 +156,6 @@ EXPERIMENTS = { "tcp_frame_size_tuning", "tcp_rcv_lowat", ], - "event_engine_client_test": [ - "event_engine_client", - ], "flow_control_test": [ "multiping", "tcp_frame_size_tuning", @@ -174,6 +174,7 @@ EXPERIMENTS = { "event_engine_dns", ], "core_end2end_test": [ + "event_engine_client", "event_engine_listener", "work_serializer_dispatch", ], @@ -183,6 +184,9 @@ EXPERIMENTS = { "cpp_lb_end2end_test": [ "pick_first_new", ], + "event_engine_client_test": [ + "event_engine_client", + ], "event_engine_listener_test": [ "event_engine_listener", ], diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl index 50bd830ef21b3..a90113e2f2959 100644 --- a/bazel/grpc_build_system.bzl +++ b/bazel/grpc_build_system.bzl @@ -725,7 +725,7 @@ def grpc_package(name, visibility = "private", features = []): features: The features to enable. """ if visibility == "tests": - visibility = ["//test:__subpackages__"] + visibility = ["//test:__subpackages__", "//src/proto/grpc/testing:__subpackages__"] elif visibility == "public": visibility = ["//visibility:public"] elif visibility == "private": diff --git a/bazel/grpc_python_deps.bzl b/bazel/grpc_python_deps.bzl index 44eca11f6719b..dbfff526a1114 100644 --- a/bazel/grpc_python_deps.bzl +++ b/bazel/grpc_python_deps.bzl @@ -38,9 +38,9 @@ def grpc_python_deps(): http_archive( name = "cython", build_file = "@com_github_grpc_grpc//third_party:cython.BUILD", - sha256 = "2ec7d66d23d6da2328fb24f5c1bec6c63a59ec2e91027766ab904f417e1078aa", - strip_prefix = "cython-3.0.11", + sha256 = "a2da56cc22be823acf49741b9aa3aa116d4f07fa8e8b35a3cb08b8447b37c607", + strip_prefix = "cython-0.29.35", urls = [ - "https://github.com/cython/cython/archive/3.0.11.tar.gz", + "https://github.com/cython/cython/archive/0.29.35.tar.gz", ], ) diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index 3ae9dd5577c48..785776254f851 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -7481,6 +7481,7 @@ targets: - name: cancel_after_invoke_test gtest: true build: test + run: false language: c++ headers: - src/core/ext/transport/chaotic_good/chaotic_good_transport.h @@ -7858,6 +7859,7 @@ targets: - name: cancel_with_status_test gtest: true build: test + run: false language: c++ headers: - src/core/ext/transport/chaotic_good/chaotic_good_transport.h diff --git a/examples/android/binder/java/io/grpc/binder/cpp/README.md b/examples/android/binder/java/io/grpc/binder/cpp/README.md deleted file mode 100644 index 8a9ba6ec26f7f..0000000000000 --- a/examples/android/binder/java/io/grpc/binder/cpp/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# gRPC-core BinderTransport example apps - -## Build Instruction - -1. Install Android SDK and NDK. Only NDK version >= 25 is supported. We tested against SDK Platform `33` and NDK `26.2.11394342`. -2. Make sure Bazel is at least `7.0`. Use `export OVERRIDE_BAZEL_VERSION=7.3.1` to selected a supported version listed in `bazel/supported_versions.txt` if necessary. -3. Point environment variables to install locations of SDK and NDK - ``` - export ANDROID_HOME=$HOME/android-sdk - export ANDROID_NDK_HOME=$HOME/android-sdk/ndk/26.2.11394342 - ``` -4. To build a fat APK that supports `x86_64`, `armv7`, and `arm64`: - ``` - bazel build \ - --extra_toolchains=@androidndk//:all \ - --android_platforms=//bazel/platforms/android:x86_64,//bazel/platforms/android:armeabi-v7a,//bazel/platforms/android:arm64-v8a \ - --copt=-Wno-unknown-warning-option \ - //examples/android/binder/java/io/grpc/binder/cpp/exampleserver:app \ - //examples/android/binder/java/io/grpc/binder/cpp/exampleclient:app - ``` -5. `adb install - bazel-bin/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/app.apk` -6. `adb install - bazel-bin/examples/android/binder/java/io/grpc/binder/cpp/exampleserver/app.apk` diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/AndroidManifest.xml b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/AndroidManifest.xml deleted file mode 100644 index 8dea1553faf1c..0000000000000 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/AndroidManifest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD deleted file mode 100644 index 8b11ebb383a4b..0000000000000 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 2021 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -cc_library( - name = "jni_lib", - srcs = ["native.cc"], - linkopts = [ - "-ldl", - "-llog", - "-lm", - "-Wl,--no-undefined", - ], - deps = [ - "//:grpc++", - "//examples/protos:helloworld_cc_grpc", - ], - alwayslink = True, -) - -android_library( - name = "activity", - srcs = [ - "ButtonPressHandler.java", - "MainActivity.java", - ], - manifest = "AndroidManifest.xml", - resource_files = glob(["res/**"]), - deps = [ - ":jni_lib", - "@binder_transport_android_helper//io/grpc/binder/cpp:connection_helper", - ], -) - -android_binary( - name = "app", - manifest = "AndroidManifest.xml", - deps = [ - ":activity", - ], -) diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/ButtonPressHandler.java b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/ButtonPressHandler.java deleted file mode 100644 index ed9d11a404bd9..0000000000000 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/ButtonPressHandler.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.grpc.binder.cpp.exampleclient; - -import android.app.Application; - -public class ButtonPressHandler { - static { - System.loadLibrary("app"); - } - - public native String native_entry(Application application); - - public String onPressed(Application application) { - return native_entry(application); - } -} diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/MainActivity.java b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/MainActivity.java deleted file mode 100644 index 3cbf70d1e651f..0000000000000 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/MainActivity.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.grpc.binder.cpp.exampleclient; - -import android.app.Activity; -import android.os.Bundle; -import android.util.Log; -import android.widget.Button; -import android.widget.TextView; - -/** Main class for the example app. */ -public class MainActivity extends Activity { - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - Log.v("Example", "hello, world"); - - setContentView(R.layout.activity_main); - - Button clickMeButton = findViewById(R.id.clickMeButton); - TextView exampleTextView = findViewById(R.id.exampleTextView); - - ButtonPressHandler h = new ButtonPressHandler(); - - clickMeButton.setOnClickListener( - v -> exampleTextView.setText(h.onPressed(getApplication()))); - } -} diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/native.cc b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/native.cc deleted file mode 100644 index 3cb8637eb6988..0000000000000 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/native.cc +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2021 gRPC authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -#include -#include - -#include "examples/protos/helloworld.grpc.pb.h" -#include "examples/protos/helloworld.pb.h" - -extern "C" JNIEXPORT jstring JNICALL -Java_io_grpc_binder_cpp_exampleclient_ButtonPressHandler_native_1entry( - JNIEnv* env, jobject /*this*/, jobject application) { - // Lower the gRPC logging level, here it is just for demo and debugging - // purpose. - setenv("GRPC_VERBOSITY", "INFO", true); - if (grpc::experimental::InitializeBinderChannelJavaClass(env)) { - __android_log_print(ANDROID_LOG_INFO, "DemoClient", - "InitializeBinderChannelJavaClass succeed"); - } else { - __android_log_print(ANDROID_LOG_INFO, "DemoClient", - "InitializeBinderChannelJavaClass failed"); - } - static bool first = true; - static std::shared_ptr channel; - if (first) { - first = false; - JavaVM* jvm; - { - jint result = env->GetJavaVM(&jvm); - assert(result == 0); - } - grpc::ChannelArguments ch_args; - // This is not required since "grpc.io.action.BIND" is already the default. - ch_args.SetString("grpc.binder.custom_android_intent_action_name", - "grpc.io.action.BIND"); - channel = grpc::experimental::CreateCustomBinderChannel( - env, application, "io.grpc.binder.cpp.exampleserver", - "io.grpc.binder.cpp.exampleserver.ExportedEndpointService", - std::make_shared< - grpc::experimental::binder::SameSignatureSecurityPolicy>( - jvm, application), - ch_args); - return env->NewStringUTF("Clicked 1 time, channel created"); - } else { - auto stub = helloworld::Greeter::NewStub(channel); - grpc::ClientContext context; - helloworld::HelloRequest request; - helloworld::HelloReply response; - request.set_name("BinderTransportClient"); - grpc::Status status = stub->SayHello(&context, request, &response); - if (status.ok()) { - return env->NewStringUTF(response.message().c_str()); - } - return env->NewStringUTF( - std::string("Clicked more than 1 time. Status not ok " + - std::to_string(status.error_code())) - .c_str()); - } -} diff --git a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/res/layout/activity_main.xml b/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/res/layout/activity_main.xml deleted file mode 100644 index e866d8df89472..0000000000000 --- a/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/res/layout/activity_main.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -