MCPcopy
hub / github.com/firecracker-microvm/firecracker-containerd / IOProxy

Interface IOProxy

internal/vm/ioproxy.go:35–46  ·  view source on GitHub ↗

IOProxy is an interface to a particular implementation for initializing and copying the stdio of a process running in a VM. All its methods are unexported as they are used only internally. The interface exists just to give outside callers a choice of implementation when setting up a process.

Source from the content-addressed store, hash-verified

33// to give outside callers a choice of implementation when setting up a
34// process.
35type IOProxy interface {
36 // start should begin initialization of stdio proxying for the provided
37 // process. It returns two channels, one to indicate io initialization
38 // is completed and one to indicate io copying is completed.
39 start(proc *vmProc) (ioInitDone <-chan error, ioCopyDone <-chan error)
40
41 // Close the proxy.
42 Close()
43
44 // IsOpen returns true if the proxy hasn't been closed.
45 IsOpen() bool
46}
47
48// IOConnector is function that begins initializing an IO connection (i.e.
49// vsock, FIFO, etc.). It returns a channel that should be published to with

Callers 12

CreateTaskMethod · 0.65
ExecProcessMethod · 0.65
AttachIOMethod · 0.65
checkIsIntelFunction · 0.65
CreateBlockDeviceFunction · 0.65
writeRuntimeConfigFunction · 0.65
VMIDMethod · 0.65
logCloseFunction · 0.65
mockIOFailConnectorFunction · 0.65
CloseStdinMethod · 0.65
CloseStdoutMethod · 0.65
IsProxyOpenMethod · 0.65

Implementers 2

ioConnectorSetinternal/vm/ioproxy.go
nullIOProxyinternal/vm/agent.go

Calls

no outgoing calls

Tested by

no test coverage detected