Tizen_4.0 base
[platform/upstream/docker-engine.git] / vendor / github.com / containerd / containerd / supervisor / checkpoint.go
1 // +build !windows
2
3 package supervisor
4
5 import "github.com/containerd/containerd/runtime"
6
7 // CreateCheckpointTask holds needed parameters to create a new checkpoint
8 type CreateCheckpointTask struct {
9         baseTask
10         ID            string
11         CheckpointDir string
12         Checkpoint    *runtime.Checkpoint
13 }
14
15 func (s *Supervisor) createCheckpoint(t *CreateCheckpointTask) error {
16         i, ok := s.containers[t.ID]
17         if !ok {
18                 return ErrContainerNotFound
19         }
20         return i.container.Checkpoint(*t.Checkpoint, t.CheckpointDir)
21 }
22
23 // DeleteCheckpointTask holds needed parameters to delete a checkpoint
24 type DeleteCheckpointTask struct {
25         baseTask
26         ID            string
27         CheckpointDir string
28         Checkpoint    *runtime.Checkpoint
29 }
30
31 func (s *Supervisor) deleteCheckpoint(t *DeleteCheckpointTask) error {
32         i, ok := s.containers[t.ID]
33         if !ok {
34                 return ErrContainerNotFound
35         }
36         return i.container.DeleteCheckpoint(t.Checkpoint.Name, t.CheckpointDir)
37 }