diff --git a/evaluator/evaluator.proto b/evaluator/evaluator.proto new file mode 100644 index 0000000..3cca789 --- /dev/null +++ b/evaluator/evaluator.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package evaluator; +import "submission/submission.proto"; + +option go_package="github.com/cpjudge/cpjudge_webserver"; +service Evaluator{ + rpc EvaluateCode (submission.Submission) returns (CodeStatus) {}; +} + +// Ref: https://www.quora.com/What-is-WA-RTE-CTE-and-TLE-on-CodeChef +enum EvaluationStatus { + CORRECT_ANSWER = 0; + WRONG_ANSWER = 1; + TIME_LIMIT_EXCEEDED = 2; + COMPILATION_ERROR = 3; + RUNTIME_ERROR = 4; +} + +message CodeStatus { + EvaluationStatus code_status = 1; +} diff --git a/leaderboard/leaderboard.proto b/leaderboard/leaderboard.proto new file mode 100644 index 0000000..94e3ffa --- /dev/null +++ b/leaderboard/leaderboard.proto @@ -0,0 +1,21 @@ +syntax="proto3"; + +service Leaderboard{ + // Returns Participants in sorted order for each Contest + rpc GetLeaderboard (stream Contest) returns (stream Participants) {}; +} + +message Contest{ + string contest_id = 1; +} + +message Participants{ + repeated Participant participant = 2; +} + +message Participant{ + string user_id = 3; + string username = 4; + int32 rating = 5; + int32 no_of_questions = 6; +} \ No newline at end of file diff --git a/submission/submission.proto b/submission/submission.proto index e02f54c..325f9b6 100644 --- a/submission/submission.proto +++ b/submission/submission.proto @@ -20,15 +20,12 @@ message Submission { // Ref: https://www.quora.com/What-is-WA-RTE-CTE-and-TLE-on-CodeChef enum SubmissionStatus { - CORRECT_ANSWER = 0; - WRONG_ANSWER = 1; - TIME_LIMIT_EXCEEDED = 2; - COMPILATION_ERROR = 3; - RUNTIME_ERROR = 4; - TO_BE_EVALUATED = 5; + TIME_LIMIT_EXCEEDED = 0; + COMPILATION_ERROR = 1; + TO_BE_EVALUATED = 2; } message CodeStatus { - SubmissionStatus code_status = 1; + SubmissionStatus code_status = 2; }