mirror of
https://github.com/criyle/go-sandbox.git
synced 2025-09-26 23:19:11 +08:00
35 lines
906 B
Go
35 lines
906 B
Go
// Package runner provides common interface for program runner together with
|
|
// common types including Result, Limit, Size and Status.
|
|
//
|
|
// # Status
|
|
//
|
|
// Status defines the program running result status including
|
|
//
|
|
// Normal
|
|
// Program Error
|
|
// Resource Limit Exceeded (Time / Memory / Output)
|
|
// Unauthorized Access (Disallowed Syscall)
|
|
// Runtime Error (Signaled / Nonzero Exit Status)
|
|
// Program Runner Error
|
|
//
|
|
// # Size
|
|
//
|
|
// Size defines size in bytes, underlying type is uint64 so it
|
|
// is effective to store up to EiB of size
|
|
//
|
|
// # Limit
|
|
//
|
|
// Limit defines Time & Memory restriction on program runner
|
|
//
|
|
// # Result
|
|
//
|
|
// Result defines program running result including
|
|
// Status, ExitStatus, Detailed Error, Time, Memory,
|
|
// SetupTime and RunningTime (in real clock)
|
|
//
|
|
// # Runner
|
|
//
|
|
// General interface to run a program, including a context
|
|
// for cancellation
|
|
package runner
|