Documentation ¶
Overview ¶
Judge provides the judging infrastructure.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FileContent ¶
type Judge ¶
type Judge struct { TaskId null.String `json:"task_id,omitempty"` Type null.Int `json:"type,omitempty"` Progress *JudgeProgress `json:"progress,omitempty"` }
ConvertResult
type JudgeProgress ¶
type JudgeProgress struct { Compile *JudgeProgressCompile `json:"compile,omitempty"` Judge *JudgeProgressJudge `json:"judge,omitempty"` Error null.Int `json:"error,omitempty"` SystemMessage null.String `json:"systemMessage,omitempty"` Status null.Int `json;"status,omitempty"` Message null.String `json:"message,omitempty"` }
type JudgeProgressCaseResult ¶
type JudgeProgressCaseResult struct { Type null.Int `json:"type,omitempty"` Time null.Float64 `json:"time,omitempty"` Memory null.Float64 `json:"memory,omitempty"` Status null.Int `json:"status,omitempty"` Input *FileContent `json:"input,omitempty"` Output *FileContent `json:"output,omitempty"` Score null.Float64 `json:"score,omitempty"` ScoringRate null.Float64 `json:"scoringRate,omitempty"` // ??? UserOutput null.String `json:"userOutput,omitempty'` UserError null.String `json:"userError,omitempty"` SpjMessage null.String `json:"spjMessage,omitempty"` SystemMessage null.String `json:"systemMessage,omitempty"` }
type JudgeProgressCompile ¶
type JudgeProgressJudge ¶
type JudgeProgressJudge struct {
Subtasks []*JudgeProgressJudgeSubtask `json:"subtasks,omitempty"`
}
type JudgeProgressJudgeSubtask ¶
type JudgeProgressJudgeSubtask struct { Type null.Int `json:"type,omitempty"` Cases []*JudgeProgressJudgeSubtaskCase `json:"cases,omitempty"` Score null.Float64 `json:"score,omitempty"` }
type JudgeProgressJudgeSubtaskCase ¶
type JudgeProgressJudgeSubtaskCase struct { Status null.Int `json:"status,omitempty"` Result *JudgeProgressCaseResult `json:"result,omitempty"` ErrorMessage null.String `json:"errorMessage,omitempty"` }
type JudgeService ¶
type JudgeService struct { Db *sql.DB Redis *svcredis.RedisService }
func DefaultJudgeService ¶
func DefaultJudgeService(db *sql.DB, r *svcredis.RedisService) *JudgeService
type SubmissionResult ¶
type SubmissionResult struct { Score null.Int `json:"score,omitempty"` Pending null.Bool `json:"pending,omitempty"` StatusString null.String `json:"statusString,omitempty"` Time null.Float64 `json:"time,omitempty"` Memory null.Float64 `json:"memory,omitempty"` Result null.String `json:"result,omitempty"` }
type SubmissionResultSummary ¶
type SubmissionResultSummary struct { Status string Time null.Float64 Memory null.Float64 Score null.Float64 }
TODO: updateRelatedInfo
func GetSummary ¶
func GetSummary(res *Judge) *SubmissionResultSummary
Click to show internal directories.
Click to hide internal directories.