Documentation
¶
Index ¶
- Constants
- Variables
- func EventString(ev int) string
- func InitNetwork(bIface, bIP string, disableIptables bool) error
- func LazyVmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
- func NewVmMessage(m *hyperstartapi.DecodedMessage) []byte
- func ReadVmMessage(conn *net.UnixConn) (*hyperstartapi.DecodedMessage, error)
- func SupportLazyMode() bool
- func TtyLiner(conn io.Reader, output chan string)
- func UnblockSend(ch chan *types.VmResponse, u *types.VmResponse)
- func VmAssociate(vmId string, hub chan VmEvent, client chan *types.VmResponse, ...)
- func VmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
- type AttachCommand
- type BlockDescriptor
- type BlockdevInsertedEvent
- type BootConfig
- type CommandAck
- type CommandError
- type Container
- type ContainerCreatedEvent
- type ContainerInfo
- type ContainerUnmounted
- type DevSkipEvent
- type DeviceFailed
- type DriverContext
- type EmptyContext
- func (ec *EmptyContext) AddDisk(ctx *VmContext, sourceType string, blockInfo *BlockDescriptor)
- func (ec *EmptyContext) AddMem(ctx *VmContext, slot, size int, result chan<- error)
- func (ec *EmptyContext) AddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo, result chan<- VmEvent)
- func (ec *EmptyContext) AllocateNetwork(vmId, requestedIP string, maps []pod.UserContainerPort) (*network.Settings, error)
- func (ec *EmptyContext) Associate(ctx *VmContext)
- func (ec *EmptyContext) BuildinNetwork() bool
- func (ec *EmptyContext) Close()
- func (ec *EmptyContext) ConfigureNetwork(vmId, requestedIP string, maps []pod.UserContainerPort, ...) (*network.Settings, error)
- func (ec *EmptyContext) Dump() (map[string]interface{}, error)
- func (ec *EmptyContext) Kill(ctx *VmContext)
- func (ec *EmptyContext) Launch(ctx *VmContext)
- func (ec *EmptyContext) Pause(ctx *VmContext, pause bool, result chan<- error)
- func (ec *EmptyContext) ReleaseNetwork(vmId, releasedIP string, maps []pod.UserContainerPort, file *os.File) error
- func (ec *EmptyContext) RemoveDisk(ctx *VmContext, blockInfo *BlockDescriptor, callback VmEvent)
- func (ec *EmptyContext) RemoveNic(ctx *VmContext, n *InterfaceCreated, callback VmEvent)
- func (ec *EmptyContext) Save(ctx *VmContext, path string, result chan<- error)
- func (ec *EmptyContext) SetCpus(ctx *VmContext, cpus int, result chan<- error)
- func (ec *EmptyContext) Shutdown(ctx *VmContext)
- func (ec *EmptyContext) Stats(ctx *VmContext) (*types.PodStats, error)
- type EmptyDriver
- type Fanout
- type GenericOperation
- type GetPodStatsCommand
- type GuestNicInfo
- type HandleEvent
- type HostNicInfo
- type HypervisorDriver
- type InitConnectedEvent
- type InitFailedEvent
- type InterfaceCreated
- type InterfaceReleased
- type Interrupted
- type LazyDriverContext
- type LogStatus
- type NetDevInsertedEvent
- type NetDevRemovedEvent
- type NewContainerCommand
- type OnlineCpuMemCommand
- type PersistInfo
- type PersistNetworkInfo
- type PersistVolumeInfo
- type PodFinished
- type PodStatus
- type PreparingItem
- type ReleaseVMCommand
- type ReplacePodCommand
- type RouteRule
- type RunPodCommand
- type RunningContainer
- type ShutdownCommand
- type StopPodCommand
- type TtyIO
- type Vm
- func (vm *Vm) AddCpu(totalCpu int) error
- func (vm *Vm) AddMem(totalMem int) error
- func (vm *Vm) AddNic(idx int, name string, info pod.UserInterface) error
- func (vm *Vm) AddProcess(container string, terminal bool, args []string, env []string, workdir string, ...) error
- func (vm *Vm) AssociateVm(mypod *PodStatus, data []byte) error
- func (vm *Vm) Attach(tty *TtyIO, container string, size *WindowSize) error
- func (vm *Vm) Exec(container, cmd string, terminal bool, tty *TtyIO) error
- func (vm *Vm) GenericOperation(name string, op func(ctx *VmContext, result chan<- error), states ...string) error
- func (vm *Vm) GetLogOutput(container, tag string, callback chan *types.VmResponse) (io.ReadCloser, io.ReadCloser, error)
- func (vm *Vm) GetResponseChan() (chan *types.VmResponse, error)
- func (vm *Vm) Kill() (int, string, error)
- func (vm *Vm) KillContainer(container string, signal syscall.Signal) error
- func (vm *Vm) Launch(b *BootConfig) (err error)
- func (vm *Vm) NewContainer(c *pod.UserContainer, info *ContainerInfo) error
- func (vm *Vm) OnlineCpuMem() error
- func (vm *Vm) Pause(pause bool) error
- func (vm *Vm) ReadFile(container, target string) ([]byte, error)
- func (vm *Vm) ReleaseResponseChan(ch chan *types.VmResponse)
- func (vm *Vm) ReleaseVm() (int, error)
- func (vm *Vm) Save(path string) error
- func (vm *Vm) SendGenericOperation(name string, op func(ctx *VmContext, result chan<- error), states ...string) <-chan error
- func (vm *Vm) SetCpus(cpus int) error
- func (vm *Vm) StartPod(mypod *PodStatus, userPod *pod.UserPod, cList []*ContainerInfo, ...) *types.VmResponse
- func (vm *Vm) Stats() *types.VmResponse
- func (vm *Vm) StopPod(mypod *PodStatus) *types.VmResponse
- func (vm *Vm) Tty(tag string, row, column int) error
- func (vm *Vm) WriteFile(container, target string, data []byte) error
- type VmContext
- func (ctx *VmContext) Become(handler stateHandler, desc string)
- func (ctx *VmContext) Close()
- func (ctx *VmContext) ConfigureInterface(index int, pciAddr int, name string, config pod.UserInterface, ...)
- func (ctx *VmContext) CreateInterface(index int, pciAddr int, name string)
- func (ctx *VmContext) InitDeviceContext(spec *pod.UserPod, wg *sync.WaitGroup, cInfo []*ContainerInfo, ...)
- func (ctx *VmContext) Lookup(container string) int
- func (ctx *VmContext) ReleaseInterface(index int, ipAddr string, file *os.File, maps []pod.UserContainerPort)
- type VmEvent
- type VmExit
- type VmHwStatus
- type VmKilledEvent
- type VmStartFailEvent
- type VmTimeout
- type VolumeInfo
- type VolumeReadyEvent
- type VolumeUnmounted
- type WindowSize
- type WindowSizeCommand
Constants ¶
View Source
const ( BaseDir = "/var/run/hyper" HyperSockName = "hyper.sock" TtySockName = "tty.sock" ConsoleSockName = "console.sock" DefaultKernel = "/var/lib/hyper/kernel" DefaultInitrd = "/var/lib/hyper/hyper-initrd.img" DetachKeys = "ctrl-p,ctrl-q" // cpu/mem hotplug constants DefaultMaxCpus = 8 // CONFIG_NR_CPUS hyperstart.git/build/kernel_config DefaultMaxMem = 32768 // size in MiB )
View Source
const ( EVENT_VM_START_FAILED = iota EVENT_VM_EXIT EVENT_VM_KILL EVENT_VM_TIMEOUT EVENT_POD_FINISH EVENT_INIT_CONNECTED EVENT_CONTAINER_ADD EVENT_CONTAINER_DELETE EVENT_VOLUME_ADD EVENT_BLOCK_INSERTED EVENT_DEV_SKIP EVENT_BLOCK_EJECTED EVENT_INTERFACE_ADD EVENT_INTERFACE_DELETE EVENT_INTERFACE_INSERTED EVENT_INTERFACE_EJECTED EVENT_SERIAL_ADD EVENT_SERIAL_DELETE EVENT_TTY_OPEN EVENT_TTY_CLOSE EVENT_PAUSE_RESULT COMMAND_RUN_POD COMMAND_REPLACE_POD COMMAND_STOP_POD COMMAND_SHUTDOWN COMMAND_RELEASE COMMAND_NEWCONTAINER COMMAND_ONLINECPUMEM COMMAND_ATTACH COMMAND_DETACH COMMAND_WINDOWSIZE COMMAND_ACK COMMAND_GET_POD_STATS COMMAND_PAUSEVM GENERIC_OPERATION ERROR_INIT_FAIL ERROR_QMP_FAIL ERROR_INTERRUPTED ERROR_CMD_FAIL )
View Source
const ( StateInit = "INIT" StatePreparing = "PREPARING" StateStarting = "STARTING" StateRunning = "RUNNING" StatePodStopping = "STOPPING" StateCleaning = "CLEANING" StateTerminating = "TERMINATING" StateDestroying = "DESTROYING" StateNone = "NONE" )
states
Variables ¶
View Source
var InterfaceCount int = 1
View Source
var PciAddrFrom int = 0x05
Functions ¶
func EventString ¶
func InitNetwork ¶
func LazyVmLoop ¶
func LazyVmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
func NewVmMessage ¶
func NewVmMessage(m *hyperstartapi.DecodedMessage) []byte
func ReadVmMessage ¶
func ReadVmMessage(conn *net.UnixConn) (*hyperstartapi.DecodedMessage, error)
func SupportLazyMode ¶
func SupportLazyMode() bool
func UnblockSend ¶
func UnblockSend(ch chan *types.VmResponse, u *types.VmResponse)
func VmAssociate ¶
func VmLoop ¶
func VmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
Types ¶
type AttachCommand ¶
type AttachCommand struct { Streams *TtyIO Stderr *TtyIO Size *WindowSize Container string }
func (*AttachCommand) Event ¶
func (qe *AttachCommand) Event() int
type BlockDescriptor ¶
type BlockdevInsertedEvent ¶
type BlockdevInsertedEvent struct { Name string SourceType string //image or volume DeviceName string ScsiId int ScsiAddr string // pass scsi addr to hyperstart }
func (*BlockdevInsertedEvent) Event ¶
func (qe *BlockdevInsertedEvent) Event() int
type BootConfig ¶
type CommandAck ¶
type CommandAck struct {
// contains filtered or unexported fields
}
func (*CommandAck) Event ¶
func (qe *CommandAck) Event() int
type CommandError ¶
type CommandError CommandAck
func (*CommandError) Event ¶
func (qe *CommandError) Event() int
type ContainerCreatedEvent ¶
type ContainerCreatedEvent struct { Index int Id string Rootfs string Image string // if fstype is `dir`, this should be a path relative to share_dir // which described the mounted aufs or overlayfs dir. Fstype string Workdir string Entrypoint []string Cmd []string Envs map[string]string }
func (*ContainerCreatedEvent) Event ¶
func (qe *ContainerCreatedEvent) Event() int
type ContainerInfo ¶
type ContainerInfo struct { Id string User string MountId string Rootfs string Image string // if fstype is `dir`, this should be a path relative to share_dir // which described the mounted aufs or overlayfs dir. Fstype string Workdir string Entrypoint []string Cmd []string Envs map[string]string Initialize bool // need to initialize container environment in start }
type ContainerUnmounted ¶
func (*ContainerUnmounted) Event ¶
func (qe *ContainerUnmounted) Event() int
type DevSkipEvent ¶
type DevSkipEvent struct{}
func (*DevSkipEvent) Event ¶
func (qe *DevSkipEvent) Event() int
type DeviceFailed ¶
type DeviceFailed struct {
Session VmEvent
}
func (*DeviceFailed) Event ¶
func (qe *DeviceFailed) Event() int
type DriverContext ¶
type DriverContext interface { Launch(ctx *VmContext) Associate(ctx *VmContext) Dump() (map[string]interface{}, error) AddDisk(ctx *VmContext, sourceType string, blockInfo *BlockDescriptor) RemoveDisk(ctx *VmContext, blockInfo *BlockDescriptor, callback VmEvent) AddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo, result chan<- VmEvent) RemoveNic(ctx *VmContext, n *InterfaceCreated, callback VmEvent) SetCpus(ctx *VmContext, cpus int, result chan<- error) AddMem(ctx *VmContext, slot, size int, result chan<- error) Save(ctx *VmContext, path string, result chan<- error) Shutdown(ctx *VmContext) Kill(ctx *VmContext) Pause(ctx *VmContext, pause bool, result chan<- error) ConfigureNetwork(vmId, requestedIP string, maps []pod.UserContainerPort, config pod.UserInterface) (*network.Settings, error) AllocateNetwork(vmId, requestedIP string, maps []pod.UserContainerPort) (*network.Settings, error) ReleaseNetwork(vmId, releasedIP string, maps []pod.UserContainerPort, file *os.File) error Stats(ctx *VmContext) (*types.PodStats, error) Close() }
type EmptyContext ¶
type EmptyContext struct{}
func (*EmptyContext) AddDisk ¶
func (ec *EmptyContext) AddDisk(ctx *VmContext, sourceType string, blockInfo *BlockDescriptor)
func (*EmptyContext) AddMem ¶
func (ec *EmptyContext) AddMem(ctx *VmContext, slot, size int, result chan<- error)
func (*EmptyContext) AddNic ¶
func (ec *EmptyContext) AddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo, result chan<- VmEvent)
func (*EmptyContext) AllocateNetwork ¶
func (ec *EmptyContext) AllocateNetwork(vmId, requestedIP string, maps []pod.UserContainerPort) (*network.Settings, error)
func (*EmptyContext) Associate ¶
func (ec *EmptyContext) Associate(ctx *VmContext)
func (*EmptyContext) BuildinNetwork ¶
func (ec *EmptyContext) BuildinNetwork() bool
func (*EmptyContext) Close ¶
func (ec *EmptyContext) Close()
func (*EmptyContext) ConfigureNetwork ¶
func (ec *EmptyContext) ConfigureNetwork(vmId, requestedIP string, maps []pod.UserContainerPort, config pod.UserInterface) (*network.Settings, error)
func (*EmptyContext) Dump ¶
func (ec *EmptyContext) Dump() (map[string]interface{}, error)
func (*EmptyContext) Kill ¶
func (ec *EmptyContext) Kill(ctx *VmContext)
func (*EmptyContext) Launch ¶
func (ec *EmptyContext) Launch(ctx *VmContext)
func (*EmptyContext) Pause ¶
func (ec *EmptyContext) Pause(ctx *VmContext, pause bool, result chan<- error)
func (*EmptyContext) ReleaseNetwork ¶
func (ec *EmptyContext) ReleaseNetwork(vmId, releasedIP string, maps []pod.UserContainerPort, file *os.File) error
func (*EmptyContext) RemoveDisk ¶
func (ec *EmptyContext) RemoveDisk(ctx *VmContext, blockInfo *BlockDescriptor, callback VmEvent)
func (*EmptyContext) RemoveNic ¶
func (ec *EmptyContext) RemoveNic(ctx *VmContext, n *InterfaceCreated, callback VmEvent)
func (*EmptyContext) Save ¶
func (ec *EmptyContext) Save(ctx *VmContext, path string, result chan<- error)
func (*EmptyContext) SetCpus ¶
func (ec *EmptyContext) SetCpus(ctx *VmContext, cpus int, result chan<- error)
func (*EmptyContext) Shutdown ¶
func (ec *EmptyContext) Shutdown(ctx *VmContext)
type EmptyDriver ¶
type EmptyDriver struct{}
func (*EmptyDriver) InitContext ¶
func (ed *EmptyDriver) InitContext(homeDir string) DriverContext
func (*EmptyDriver) Initialize ¶
func (ed *EmptyDriver) Initialize() error
func (*EmptyDriver) LoadContext ¶
func (ed *EmptyDriver) LoadContext(persisted map[string]interface{}) (DriverContext, error)
func (*EmptyDriver) SupportLazyMode ¶
func (ed *EmptyDriver) SupportLazyMode() bool
type Fanout ¶
type Fanout struct {
// contains filtered or unexported fields
}
func CreateFanout ¶
func CreateFanout(upstream chan *types.VmResponse, size int, block bool) *Fanout
CreateFanout create a new fanout, and if it is non-blocked, it will start the fanout goroutine at once, otherwise it will start the goroutine when it get the first client
type GenericOperation ¶
type GenericOperation struct { OpName string State []string OpFunc func(ctx *VmContext, result chan<- error) Result chan<- error }
func (*GenericOperation) Event ¶
func (qe *GenericOperation) Event() int
type GetPodStatsCommand ¶
type GetPodStatsCommand struct {
Id string
}
func (*GetPodStatsCommand) Event ¶
func (qe *GetPodStatsCommand) Event() int
type HandleEvent ¶
type HandleEvent struct { Handle func(*types.VmResponse, interface{}, *PodStatus, *Vm) bool Data interface{} }
type HostNicInfo ¶
type HypervisorDriver ¶
type HypervisorDriver interface { InitContext(homeDir string) DriverContext LoadContext(persisted map[string]interface{}) (DriverContext, error) BuildinNetwork() bool InitNetwork(bIface, bIP string, disableIptables bool) error SupportLazyMode() bool }
var HDriver HypervisorDriver
type InitConnectedEvent ¶
type InitConnectedEvent struct {
// contains filtered or unexported fields
}
func (*InitConnectedEvent) Event ¶
func (qe *InitConnectedEvent) Event() int
type InitFailedEvent ¶
type InitFailedEvent struct {
Reason string
}
func (*InitFailedEvent) Event ¶
func (qe *InitFailedEvent) Event() int
type InterfaceCreated ¶
type InterfaceCreated struct { Index int PCIAddr int Fd *os.File Bridge string HostDevice string DeviceName string MacAddr string IpAddr string NetMask string RouteTable []*RouteRule }
func (*InterfaceCreated) Event ¶
func (qe *InterfaceCreated) Event() int
type InterfaceReleased ¶
func (*InterfaceReleased) Event ¶
func (qe *InterfaceReleased) Event() int
type Interrupted ¶
type Interrupted struct {
Reason string
}
func (*Interrupted) Event ¶
func (qe *Interrupted) Event() int
type LazyDriverContext ¶
type LazyDriverContext interface { DriverContext LazyLaunch(ctx *VmContext) InitVM(ctx *VmContext) error LazyAddDisk(ctx *VmContext, name, sourceType, filename, format string, id int) LazyAddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo) }
type NetDevInsertedEvent ¶
func (*NetDevInsertedEvent) Event ¶
func (qe *NetDevInsertedEvent) Event() int
type NetDevRemovedEvent ¶
type NetDevRemovedEvent struct {
Index int
}
func (*NetDevRemovedEvent) Event ¶
func (qe *NetDevRemovedEvent) Event() int
type NewContainerCommand ¶
type NewContainerCommand struct {
// contains filtered or unexported fields
}
func (*NewContainerCommand) Event ¶
func (qe *NewContainerCommand) Event() int
type OnlineCpuMemCommand ¶
type OnlineCpuMemCommand struct{}
func (*OnlineCpuMemCommand) Event ¶
func (qe *OnlineCpuMemCommand) Event() int
type PersistInfo ¶
type PersistInfo struct { Id string DriverInfo map[string]interface{} UserSpec *pod.UserPod VmSpec *hyperstartapi.Pod HwStat *VmHwStatus VolumeList []*PersistVolumeInfo NetworkList []*PersistNetworkInfo }
type PersistNetworkInfo ¶
type PersistVolumeInfo ¶
type PodFinished ¶
type PodFinished struct {
// contains filtered or unexported fields
}
func (*PodFinished) Event ¶
func (qe *PodFinished) Event() int
type PodStatus ¶
type PodStatus struct { Id string Name string Vm string Wg *sync.WaitGroup Containers []*Container Status uint Type string RestartPolicy string Autoremove bool Handler HandleEvent StartedAt string FinishedAt string ResourcePath string }
func (*PodStatus) AddContainer ¶
func (*PodStatus) SetContainerStatus ¶
func (*PodStatus) SetPodContainerStatus ¶
type PreparingItem ¶
type PreparingItem interface {
ItemType() string
}
type ReleaseVMCommand ¶
type ReleaseVMCommand struct{}
func (*ReleaseVMCommand) Event ¶
func (qe *ReleaseVMCommand) Event() int
type ReplacePodCommand ¶
type ReplacePodCommand RunPodCommand
func (*ReplacePodCommand) Event ¶
func (qe *ReplacePodCommand) Event() int
type RunPodCommand ¶
type RunPodCommand struct { Spec *pod.UserPod Containers []*ContainerInfo Volumes map[string]*VolumeInfo Wg *sync.WaitGroup }
func (*RunPodCommand) Event ¶
func (qe *RunPodCommand) Event() int
type RunningContainer ¶
type RunningContainer struct {
Id string `json:"id"`
}
type ShutdownCommand ¶
type ShutdownCommand struct {
Wait bool
}
func (*ShutdownCommand) Event ¶
func (qe *ShutdownCommand) Event() int
type StopPodCommand ¶
type StopPodCommand struct{}
func (*StopPodCommand) Event ¶
func (qe *StopPodCommand) Event() int
type TtyIO ¶
type TtyIO struct { Stdin io.ReadCloser Stdout io.WriteCloser ClientTag string Callback chan *types.VmResponse ExitCode uint8 }
func (*TtyIO) WaitForFinish ¶
type Vm ¶
type Vm struct { Id string Pod *PodStatus Status uint Cpu int Mem int Lazy bool Hub chan VmEvent // contains filtered or unexported fields }
func (*Vm) AddProcess ¶
func (*Vm) AssociateVm ¶
This function will only be invoked during daemon start
func (*Vm) GenericOperation ¶
func (*Vm) GetLogOutput ¶
func (vm *Vm) GetLogOutput(container, tag string, callback chan *types.VmResponse) (io.ReadCloser, io.ReadCloser, error)
func (*Vm) GetResponseChan ¶
func (vm *Vm) GetResponseChan() (chan *types.VmResponse, error)
func (*Vm) KillContainer ¶
func (*Vm) Launch ¶
func (vm *Vm) Launch(b *BootConfig) (err error)
func (*Vm) NewContainer ¶
func (vm *Vm) NewContainer(c *pod.UserContainer, info *ContainerInfo) error
func (*Vm) OnlineCpuMem ¶
func (*Vm) ReleaseResponseChan ¶
func (vm *Vm) ReleaseResponseChan(ch chan *types.VmResponse)
func (*Vm) SendGenericOperation ¶
func (*Vm) StartPod ¶
func (vm *Vm) StartPod(mypod *PodStatus, userPod *pod.UserPod, cList []*ContainerInfo, vList map[string]*VolumeInfo) *types.VmResponse
func (*Vm) Stats ¶
func (vm *Vm) Stats() *types.VmResponse
type VmContext ¶
type VmContext struct { Id string Paused bool Boot *BootConfig // Communication Context Hub chan VmEvent DCtx DriverContext HomeDir string HyperSockName string TtySockName string ConsoleSockName string InterfaceCount int // contains filtered or unexported fields }
func InitContext ¶
func InitContext(id string, hub chan VmEvent, client chan *types.VmResponse, dc DriverContext, boot *BootConfig) (*VmContext, error)
func (*VmContext) ConfigureInterface ¶
func (*VmContext) CreateInterface ¶
func (*VmContext) InitDeviceContext ¶
func (ctx *VmContext) InitDeviceContext(spec *pod.UserPod, wg *sync.WaitGroup, cInfo []*ContainerInfo, vInfo map[string]*VolumeInfo)
InitDeviceContext will init device info in context
func (*VmContext) ReleaseInterface ¶
type VmHwStatus ¶
type VmKilledEvent ¶
type VmKilledEvent struct {
Success bool
}
func (*VmKilledEvent) Event ¶
func (qe *VmKilledEvent) Event() int
type VmStartFailEvent ¶
type VmStartFailEvent struct {
Message string
}
func (*VmStartFailEvent) Event ¶
func (qe *VmStartFailEvent) Event() int
type VolumeInfo ¶
type VolumeReadyEvent ¶
type VolumeReadyEvent struct { Name string //volumen name in spec Filepath string //block dev absolute path, or dir path relative to share dir Fstype string //"xfs", "ext4" etc. for block dev, or "dir" for dir path Format string //"raw" (or "qcow2") for volume, no meaning for dir path }
func (*VolumeReadyEvent) Event ¶
func (qe *VolumeReadyEvent) Event() int
type VolumeUnmounted ¶
func (*VolumeUnmounted) Event ¶
func (qe *VolumeUnmounted) Event() int
type WindowSize ¶
type WindowSizeCommand ¶
type WindowSizeCommand struct { ClientTag string Size *WindowSize }
func (*WindowSizeCommand) Event ¶
func (qe *WindowSizeCommand) Event() int
Source Files
¶
Click to show internal directories.
Click to hide internal directories.