Documentation
¶
Index ¶
- Constants
- type Container
- func (c *Container) Delete(ctx context.Context) error
- func (c *Container) ExecProcess(ctx context.Context, process *oci.Process, ...) (int, error)
- func (c *Container) GetAllProcessPids(ctx context.Context) ([]int, error)
- func (c *Container) GetProcess(pid uint32) (Process, error)
- func (c *Container) GetStats(ctx context.Context) (*v1.Metrics, error)
- func (c *Container) Kill(ctx context.Context, signal syscall.Signal) error
- func (c *Container) Start(ctx context.Context, conSettings stdio.ConnectionSettings) (int, error)
- func (c *Container) Update(ctx context.Context, resources string) error
- func (c *Container) Wait() prot.NotificationType
- type Host
- func (h *Host) CreateContainer(ctx context.Context, id string, settings *prot.VMHostedContainerSettingsV2) (_ *Container, err error)
- func (h *Host) GetContainer(id string) (*Container, error)
- func (h *Host) GetExternalProcess(pid int) (Process, error)
- func (h *Host) ModifyHostSettings(ctx context.Context, settings *prot.ModifySettingRequest) error
- func (h *Host) RemoveContainer(id string)
- func (h *Host) RunExternalProcess(ctx context.Context, params prot.ProcessParameters, ...) (_ int, err error)
- func (h *Host) Shutdown()
- type Process
Constants ¶
View Source
const UVMContainerID = "00000000-0000-0000-0000-000000000000"
UVMContainerID is the ContainerID that will be sent on any prot.MessageBase for V2 where the specific message is targeted at the UVM itself.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Container ¶
type Container struct {
// contains filtered or unexported fields
}
func (*Container) ExecProcess ¶
func (*Container) GetAllProcessPids ¶
GetAllProcessPids returns all process pids in the container namespace.
func (*Container) GetProcess ¶
GetProcess returns the Process with the matching 'pid'. If the 'pid' does not exit returns error.
func (*Container) Wait ¶
func (c *Container) Wait() prot.NotificationType
Wait waits for the container's init process to exit.
type Host ¶
type Host struct {
// contains filtered or unexported fields
}
Host is the structure tracking all UVM host state including all containers and processes.
func (*Host) CreateContainer ¶
func (*Host) ModifyHostSettings ¶
func (*Host) RemoveContainer ¶
func (*Host) RunExternalProcess ¶
func (h *Host) RunExternalProcess(ctx context.Context, params prot.ProcessParameters, conSettings stdio.ConnectionSettings) (_ int, err error)
RunExternalProcess runs a process in the utility VM.
type Process ¶
type Process interface {
// Kill sends `signal` to the process.
//
// If the process has already exited returns `gcserr.HrErrNotFound` by contract.
Kill(ctx context.Context, signal syscall.Signal) error
// Pid returns the process id of the process.
Pid() int
// ResizeConsole resizes the tty to `height`x`width` for the process.
ResizeConsole(ctx context.Context, height, width uint16) error
// Wait returns a channel that can be used to wait for the process to exit
// and gather the exit code. The second channel must be signaled from the
// caller when the caller has completed its use of this call to Wait.
Wait() (<-chan int, chan<- bool)
}
Click to show internal directories.
Click to hide internal directories.