Expand description
GCS RPC message body types.
Every RPC over the GCS bridge is a (frame_header, body) pair where the
body is a UTF-8 JSON document with shapes documented here. Mirrors
hcsshim’s internal/gcs/prot/protocol.go::Msg{Negotiate,Create,...}.
The frame header carries the message id + type code (see crate::frame);
these types only describe the payload.
Structs§
- AnyIn
String - hcsshim’s
AnyInString— a JSON value that is wire-encoded as a JSON string whose content is the escaped JSON of the inner value (double-encoded). - Create
Request RpcCreate— create the COMPUTE-system root.- Execute
Process Request RpcExecuteProcess— run a process inside the hosted container.- Execute
Process Response - Execute
Process Settings - Modify
Settings Request RpcModifySettings— hot-add/remove/update a setting on a running compute system (VSMB share, SCSI attachment, network endpoint, …).- Negotiate
Protocol Request RpcNegotiateProtocolrequest — proposes a min/max protocol version the host supports. The guest responds with the version chosen and a capabilities block.- Negotiate
Protocol Response RpcNegotiateProtocolresponse.- Protocol
Support - Capability block returned in the
NegotiateProtocolresponse. - Request
Base - Base fields present on every request body.
- Response
Base - Base fields present on every response body.
- Shutdown
Request RpcShutdown— graceful shutdown.- Signal
Process Request RpcSignalProcess— send a signal to a spawned process.- Start
Request RpcStart— start a previously-created container. No body beyond the base.- Stdio
Relay Settings - Wait
ForProcess Request RpcWaitForProcess— wait for anExecuteProcess-spawned PID to exit.- Wait
ForProcess Response