Refine schema of ReportVmActivePortsRequest
Bug: 382998551
Test: Run VmTerminalApp
Change-Id: I3dc31ed162cfc9fd59d5a5e962603a0cc6dcbcbe
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java b/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java
index 9a97a52..147a7e5 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/DebianServiceImpl.java
@@ -33,8 +33,8 @@
import io.grpc.stub.StreamObserver;
-import java.util.HashSet;
import java.util.Set;
+import java.util.stream.Collectors;
final class DebianServiceImpl extends DebianServiceGrpc.DebianServiceImplBase {
private final Context mContext;
@@ -57,7 +57,10 @@
ReportVmActivePortsRequest request,
StreamObserver<ReportVmActivePortsResponse> responseObserver) {
Log.d(TAG, "reportVmActivePorts: " + request.toString());
- mPortsStateManager.updateActivePorts(new HashSet<>(request.getPortsList()));
+ mPortsStateManager.updateActivePorts(
+ request.getPortsList().stream()
+ .map(activePort -> activePort.getPort())
+ .collect(Collectors.toSet()));
ReportVmActivePortsResponse reply =
ReportVmActivePortsResponse.newBuilder().setSuccess(true).build();
responseObserver.onNext(reply);
diff --git a/guest/forwarder_guest_launcher/src/main.rs b/guest/forwarder_guest_launcher/src/main.rs
index 6a2a692..bed8965 100644
--- a/guest/forwarder_guest_launcher/src/main.rs
+++ b/guest/forwarder_guest_launcher/src/main.rs
@@ -18,7 +18,7 @@
use clap::Parser;
use csv_async::AsyncReader;
use debian_service::debian_service_client::DebianServiceClient;
-use debian_service::{QueueOpeningRequest, ReportVmActivePortsRequest};
+use debian_service::{ActivePort, QueueOpeningRequest, ReportVmActivePortsRequest};
use futures::stream::StreamExt;
use log::{debug, error};
use serde::Deserialize;
@@ -93,7 +93,7 @@
) -> Result<(), Box<dyn std::error::Error>> {
let res = client
.report_vm_active_ports(Request::new(ReportVmActivePortsRequest {
- ports: listening_ports.into_iter().collect(),
+ ports: listening_ports.into_iter().map(|port| ActivePort { port }).collect(),
}))
.await?
.into_inner();
diff --git a/libs/debian_service/proto/DebianService.proto b/libs/debian_service/proto/DebianService.proto
index 60f20d4..7ab0af7 100644
--- a/libs/debian_service/proto/DebianService.proto
+++ b/libs/debian_service/proto/DebianService.proto
@@ -31,8 +31,13 @@
int32 cid = 1;
}
+// TODO(b/382998551): Add more information about the port.
+message ActivePort {
+ int32 port = 1;
+}
+
message ReportVmActivePortsRequest {
- repeated int32 ports = 1;
+ repeated ActivePort ports = 1;
}
message ReportVmActivePortsResponse {