Documentation
¶
Index ¶
- func DeepCopyStatus(skeleton problems.Status) (ans problems.Status)
- type ACRunner
- type BasicRunner
- type BasicRunnerOption
- type BytesSolution
- type CachedRunner
- type ChanStatusUpdate
- type Compile
- type CompileCheckSupported
- type CompileCopyFile
- type CompileWithStubs
- type IgnoreStatusUpdate
- type InteractiveRunner
- type InteractiveRunnerOption
- type LinearEvaluator
- type PolygonUserInteractorExecute
- type RateLimitStatusUpdate
- type Status
- type TaskYAMLUserInteractorExecute
- func (t *TaskYAMLUserInteractorExecute) Check(ctx context.Context, testcase *problems.Testcase) error
- func (t *TaskYAMLUserInteractorExecute) ExecuteInteractor(ctx context.Context, interactorSandbox sandbox.Sandbox, ...) (*sandbox.Status, error)
- func (t *TaskYAMLUserInteractorExecute) ExecuteUser(ctx context.Context, userSandbox sandbox.Sandbox, language language.Language, ...) (*sandbox.Status, error)
- type UserInteractorExecutor
- type ZipRunner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BasicRunner ¶
type BasicRunner struct {
// contains filtered or unexported fields
}
func NewBasicRunner ¶
func NewBasicRunner(options ...BasicRunnerOption) *BasicRunner
func (*BasicRunner) SetSolution ¶
type BasicRunnerOption ¶
type BasicRunnerOption func(r *BasicRunner)
func BasicRunnerWithChecker ¶
func BasicRunnerWithChecker(c problems.Checker) BasicRunnerOption
func BasicRunnerWithFiles ¶
func BasicRunnerWithFiles(inputFile, outputFile string) BasicRunnerOption
func BasicRunnerWithFs ¶
func BasicRunnerWithFs(fs afero.Fs) BasicRunnerOption
type BytesSolution ¶
type BytesSolution struct {
// contains filtered or unexported fields
}
func NewByteSolution ¶
func NewByteSolution(lang language.Language, src []byte) *BytesSolution
func (*BytesSolution) GetLanguage ¶
func (b *BytesSolution) GetLanguage() language.Language
type CachedRunner ¶ added in v0.5.0
type CachedRunner struct {
// contains filtered or unexported fields
}
func NewCachedRunner ¶ added in v0.5.0
func NewCachedRunner(inner problems.Runner) *CachedRunner
func (*CachedRunner) SetSolution ¶ added in v0.5.0
type ChanStatusUpdate ¶
type ChanStatusUpdate struct {
// contains filtered or unexported fields
}
func NewChanStatusUpdate ¶
func NewChanStatusUpdate() (ChanStatusUpdate, <-chan Status)
func (ChanStatusUpdate) UpdateStatus ¶
type CompileCheckSupported ¶
type CompileCopyFile ¶
type CompileCopyFile struct { }
type CompileWithStubs ¶
type CompileWithStubs struct {
// contains filtered or unexported fields
}
func NewCompilerWithStubs ¶
func NewCompilerWithStubs() *CompileWithStubs
func (*CompileWithStubs) AddStub ¶
func (c *CompileWithStubs) AddStub(lang language.Language, stub problems.EvaluationFile)
type InteractiveRunner ¶
type InteractiveRunner struct {
// contains filtered or unexported fields
}
func NewInteractiveRunner ¶
func NewInteractiveRunner(interactorBinary []byte, checker problems.Checker, opts ...InteractiveRunnerOption) *InteractiveRunner
func (*InteractiveRunner) SetSolution ¶
type InteractiveRunnerOption ¶
type InteractiveRunnerOption func(runner *InteractiveRunner)
func InteractiveRunnerWithExecutor ¶
func InteractiveRunnerWithExecutor(executor UserInteractorExecutor) InteractiveRunnerOption
func InteractiveRunnerWithFs ¶
func InteractiveRunnerWithFs(fs afero.Fs) InteractiveRunnerOption
type LinearEvaluator ¶
func NewLinearEvaluator ¶
func NewLinearEvaluator(runner problems.Runner) *LinearEvaluator
type PolygonUserInteractorExecute ¶
type PolygonUserInteractorExecute struct{}
func (PolygonUserInteractorExecute) ExecuteInteractor ¶
func (PolygonUserInteractorExecute) ExecuteUser ¶
type RateLimitStatusUpdate ¶
type RateLimitStatusUpdate struct {
// contains filtered or unexported fields
}
func NewRateLimitStatusUpdate ¶
func NewRateLimitStatusUpdate(innerUpdater problems.StatusUpdater, r rate.Limit) *RateLimitStatusUpdate
func (RateLimitStatusUpdate) UpdateStatus ¶
type TaskYAMLUserInteractorExecute ¶
type TaskYAMLUserInteractorExecute struct {
// contains filtered or unexported fields
}
func (*TaskYAMLUserInteractorExecute) ExecuteInteractor ¶
func (*TaskYAMLUserInteractorExecute) ExecuteUser ¶
type UserInteractorExecutor ¶
type UserInteractorExecutor interface { ExecuteUser(ctx context.Context, userSandbox sandbox.Sandbox, language language.Language, userBin sandbox.File, userStdin, userStdout *os.File, timeLimit time.Duration, memoryLimit memory.Amount) (*sandbox.Status, error) ExecuteInteractor(ctx context.Context, interactorSandbox sandbox.Sandbox, userStdin, userStdout *os.File, testcase *problems.Testcase) (*sandbox.Status, error) }
Click to show internal directories.
Click to hide internal directories.