docker

package
v0.0.0-...-3939c4f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2026 License: GPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPlayerFactory

func NewPlayerFactory(runner *SubmissionRunner, imageId string) game.PlayerFactory

Types

type BuildResult

type BuildResult struct {
	ImageId string
	Logs    string
	Err     error
}

type DockerPlayer

type DockerPlayer struct {
	// contains filtered or unexported fields
}

func NewDockerPlayer

func NewDockerPlayer(runner *SubmissionRunner, ctx context.Context, imageId string) (*DockerPlayer, error)

func (*DockerPlayer) Close

func (p *DockerPlayer) Close() error

func (*DockerPlayer) ReadFile

func (p *DockerPlayer) ReadFile(path string) (io.ReadCloser, error)

func (*DockerPlayer) Stdin

func (p *DockerPlayer) Stdin() io.WriteCloser

func (*DockerPlayer) Stdout

func (p *DockerPlayer) Stdout() io.Reader

type ExitError

type ExitError struct {
	Reason   Reason
	ExitCode int64
	Err      error
}

func (*ExitError) Error

func (e *ExitError) Error() string

func (*ExitError) Is

func (e *ExitError) Is(target error) bool

func (*ExitError) Unwrap

func (e *ExitError) Unwrap() error

type Limits

type Limits struct {
	Memory int64 // bytes
	VCPUs  float64
}

type Reason

type Reason int
const (
	ReasonNormal Reason = iota
	ReasonRuntimeError
	ReasonMemoryLimit
	ReasonTimeLimit
)

func (Reason) String

func (r Reason) String() string

type RunResult

type RunResult struct {
	ExitCode int64
	Err      error
}

type Source

type Source struct {
	Repo string
	Ref  string
	Src  string
}

type SubmissionBuilder

type SubmissionBuilder struct {
	// contains filtered or unexported fields
}

func NewSubmissionBuilder

func NewSubmissionBuilder(cli *dockerclient.Client, ctx context.Context, token string) (*SubmissionBuilder, error)

func (*SubmissionBuilder) Build

func (b *SubmissionBuilder) Build(ctx context.Context, src Source) BuildResult

type SubmissionContainer

type SubmissionContainer struct {
	Stdin  io.WriteCloser
	Stdout io.ReadCloser
	// contains filtered or unexported fields
}

func (*SubmissionContainer) Close

func (c *SubmissionContainer) Close() error

func (*SubmissionContainer) MountDir

func (c *SubmissionContainer) MountDir() string

func (*SubmissionContainer) ReadFile

func (c *SubmissionContainer) ReadFile(path string) (io.ReadCloser, error)

func (*SubmissionContainer) Start

func (c *SubmissionContainer) Start() error

func (*SubmissionContainer) Wait

func (c *SubmissionContainer) Wait() RunResult

type SubmissionRunner

type SubmissionRunner struct {
	// contains filtered or unexported fields
}

func NewSubmissionRunner

func NewSubmissionRunner(cli *client.Client, limits Limits) *SubmissionRunner

func (*SubmissionRunner) CreateSubmissionContainer

func (r *SubmissionRunner) CreateSubmissionContainer(ctx context.Context, imageName string) (*SubmissionContainer, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL