feature(hypervisor-dmesg): daemon: add ReadHypervisorConsoleRing rpc implementation

This commit is contained in:
Ariadne Conill 2024-08-18 16:39:10 -07:00
parent 41b86cd4fa
commit b33ce7c874
No known key found for this signature in database

View File

@ -28,6 +28,7 @@ use krata::{
ReadZoneMetricsReply, ReadZoneMetricsRequest, ResolveZoneIdReply, ResolveZoneIdRequest,
SnoopIdmReply, SnoopIdmRequest, UpdateZoneResourcesReply, UpdateZoneResourcesRequest,
WatchEventsReply, WatchEventsRequest, ZoneConsoleReply, ZoneConsoleRequest,
ReadHypervisorConsoleRingRequest, ReadHypervisorConsoleRingReply,
},
},
};
@ -710,4 +711,15 @@ impl ControlService for DaemonControlService {
.map_err(ApiError::from)?;
Ok(Response::new(UpdateZoneResourcesReply {}))
}
async fn read_hypervisor_console_ring(
&self,
request: Request<ReadHypervisorConsoleRingRequest>,
) -> Result<Response<ReadHypervisorConsoleRingReply>, Status> {
let request = request.into_inner();
let data = self.runtime.read_hypervisor_console(request.clear).await.map_err(|error| ApiError {
message: error.to_string(),
})?;
Ok(Response::new(ReadHypervisorConsoleRingReply { data: data.to_string() }))
}
}