go-judge/types/run_task.go
2019-09-29 15:19:36 -07:00

51 lines
1.0 KiB
Go

package types
import "github.com/criyle/go-judge/file"
// RunTask is used to send task into RunQueue,
// if taskqueue is a remote queue, taskqueue need to store / retrive files
type RunTask struct {
Type string
// Used for compile task
Language string
Code string
ExtraFiles []file.File
// Used for run tasks
TimeLimit uint64 // ms
MemoryLimit uint64 // kb
ExecFiles []file.File
InputFile file.File
AnswerFile file.File
// Used for standard run task
SpjLanguage string
SpjExecFiles []file.File
// Used for interaction run task
InteractorLanguage string
InteractorExecFiles []file.File
// Used for answer submission run task
UserAnswer file.File
}
// RunTaskResult return the result for run task RPC
type RunTaskResult struct {
Status string
// error
Error string
// compile result
ExecFiles []file.File
// details
Time uint64 // ms
Memory uint64 // kb
Input []byte
Answer []byte
UserOutput []byte
UserError []byte
SpjOutput []byte
ScoringRate float64
}