mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-04 15:04:25 +01:00
We can use the same data structure to describe both of them. So that we can handle them similarly. Fixes: #1566 Signed-off-by: Peng Tao <bergwolf@hyper.sh>
27 lines
726 B
Go
27 lines
726 B
Go
// Copyright (c) 2019 hyper.sh
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
package types
|
|
|
|
// ContainerState is a sandbox state structure.
|
|
type ContainerState struct {
|
|
State StateString `json:"state"`
|
|
|
|
// CgroupPath is the cgroup hierarchy where sandbox's processes
|
|
// including the hypervisor are placed.
|
|
CgroupPath string `json:"cgroupPath,omitempty"`
|
|
}
|
|
|
|
// Valid checks that the container state is valid.
|
|
func (state *ContainerState) Valid() bool {
|
|
return state.State.valid()
|
|
}
|
|
|
|
// ValidTransition returns an error if we want to move to
|
|
// an unreachable state.
|
|
func (state *ContainerState) ValidTransition(oldState StateString, newState StateString) error {
|
|
return state.State.validTransition(oldState, newState)
|
|
}
|