Skip to main content

Module protocol

Module protocol 

Source
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§

AnyInString
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).
CreateRequest
RpcCreate — create the COMPUTE-system root.
ExecuteProcessRequest
RpcExecuteProcess — run a process inside the hosted container.
ExecuteProcessResponse
ExecuteProcessSettings
ModifySettingsRequest
RpcModifySettings — hot-add/remove/update a setting on a running compute system (VSMB share, SCSI attachment, network endpoint, …).
NegotiateProtocolRequest
RpcNegotiateProtocol request — proposes a min/max protocol version the host supports. The guest responds with the version chosen and a capabilities block.
NegotiateProtocolResponse
RpcNegotiateProtocol response.
ProtocolSupport
Capability block returned in the NegotiateProtocol response.
RequestBase
Base fields present on every request body.
ResponseBase
Base fields present on every response body.
ShutdownRequest
RpcShutdown — graceful shutdown.
SignalProcessRequest
RpcSignalProcess — send a signal to a spawned process.
StartRequest
RpcStart — start a previously-created container. No body beyond the base.
StdioRelaySettings
WaitForProcessRequest
RpcWaitForProcess — wait for an ExecuteProcess-spawned PID to exit.
WaitForProcessResponse

Type Aliases§

CreateResponse
ModifySettingsResponse
ShutdownResponse
SignalProcessResponse
StartResponse