40 lines
		
	
	
		
			944 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			944 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package execution
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"os"
 | |
| 
 | |
| 	"github.com/opencontainers/runtime-spec/specs-go"
 | |
| )
 | |
| 
 | |
| type CreateOpts struct {
 | |
| 	Bundle  string
 | |
| 	Console bool
 | |
| 	Stdin   string
 | |
| 	Stdout  string
 | |
| 	Stderr  string
 | |
| }
 | |
| 
 | |
| type StartProcessOpts struct {
 | |
| 	ID      string
 | |
| 	Spec    specs.Process
 | |
| 	Console bool
 | |
| 	Stdin   string
 | |
| 	Stdout  string
 | |
| 	Stderr  string
 | |
| }
 | |
| 
 | |
| type Executor interface {
 | |
| 	Create(ctx context.Context, id string, o CreateOpts) (*Container, error)
 | |
| 	Pause(context.Context, *Container) error
 | |
| 	Resume(context.Context, *Container) error
 | |
| 	List(context.Context) ([]*Container, error)
 | |
| 	Load(ctx context.Context, id string) (*Container, error)
 | |
| 	Delete(context.Context, *Container) error
 | |
| 	Start(context.Context, *Container) error
 | |
| 
 | |
| 	StartProcess(context.Context, *Container, StartProcessOpts) (Process, error)
 | |
| 	SignalProcess(ctx context.Context, c *Container, id string, sig os.Signal) error
 | |
| 	DeleteProcess(ctx context.Context, c *Container, id string) error
 | |
| }
 | 
