Documentation ¶
Index ¶
- Constants
- type Pipeline
- func (p *Pipeline) CheckRestrictions(s Submission) (Submission, error)
- func (p *Pipeline) CheckSelectionColumns(s Submission) (Submission, error)
- func (p *Pipeline) CheckSelectionContent(s Submission) (Submission, error)
- func (p *Pipeline) CheckSelectionSolution(s Submission) (Submission, error)
- func (p *Pipeline) Checker(kind string, unchecked <-chan Submission, check func(s Submission) Submission) <-chan Submission
- func (p *Pipeline) FetchRestrictions(s Submission) (Submission, error)
- func (p *Pipeline) FetchSelectionInfo(s Submission) (Submission, error)
- func (p *Pipeline) RestrictionChecker(unchecked <-chan Submission) <-chan Submission
- func (p *Pipeline) SelectionChecker(unchecked <-chan Submission) <-chan Submission
- func (p *Pipeline) Start() error
- func (p *Pipeline) Stop()
- func (p *Pipeline) SubmissionProvider() <-chan Submission
- func (p *Pipeline) UpdateSubmission(s Submission) error
- type Restriction
- type RestrictionInfo
- type SelectionInfo
- type Submission
Constants ¶
View Source
const ( Unknown int = iota PendingCheck Accepted ExecutionError RestrictionViolated IncorrectColumnCount IncorrectColumnNames IncorrectContent IncorrectOrder )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Pipeline ¶
type Pipeline struct {
// contains filtered or unexported fields
}
func (*Pipeline) CheckRestrictions ¶
func (p *Pipeline) CheckRestrictions(s Submission) (Submission, error)
func (*Pipeline) CheckSelectionColumns ¶
func (p *Pipeline) CheckSelectionColumns(s Submission) (Submission, error)
func (*Pipeline) CheckSelectionContent ¶
func (p *Pipeline) CheckSelectionContent(s Submission) (Submission, error)
func (*Pipeline) CheckSelectionSolution ¶
func (p *Pipeline) CheckSelectionSolution(s Submission) (Submission, error)
func (*Pipeline) Checker ¶
func (p *Pipeline) Checker(kind string, unchecked <-chan Submission, check func(s Submission) Submission) <-chan Submission
func (*Pipeline) FetchRestrictions ¶
func (p *Pipeline) FetchRestrictions(s Submission) (Submission, error)
func (*Pipeline) FetchSelectionInfo ¶
func (p *Pipeline) FetchSelectionInfo(s Submission) (Submission, error)
func (*Pipeline) RestrictionChecker ¶
func (p *Pipeline) RestrictionChecker(unchecked <-chan Submission) <-chan Submission
func (*Pipeline) SelectionChecker ¶
func (p *Pipeline) SelectionChecker(unchecked <-chan Submission) <-chan Submission
func (*Pipeline) SubmissionProvider ¶
func (p *Pipeline) SubmissionProvider() <-chan Submission
func (*Pipeline) UpdateSubmission ¶
func (p *Pipeline) UpdateSubmission(s Submission) error
type Restriction ¶
type RestrictionInfo ¶
type RestrictionInfo []Restriction
type SelectionInfo ¶
type Submission ¶
type Submission struct { ID int `db:"ID"` StatusID int `db:"STATUS_ID"` Solution string `db:"SOLUTION"` CheckerMessage string `db:"CHECKER_MESSAGE"` // used by various checkers CheckerInfo interface{} }
func (*Submission) IsChecked ¶
func (s *Submission) IsChecked() bool
func (*Submission) PutCheckerError ¶
func (s *Submission) PutCheckerError(err error)
Click to show internal directories.
Click to hide internal directories.