From 1ba319c92d54d11e785376d453e0fd08193504e1 Mon Sep 17 00:00:00 2001 From: Vaibhav G Date: Fri, 22 Mar 2019 23:12:02 +0530 Subject: [PATCH] Modified for integration with webserver. --- evaluator/evaluator.proto | 22 ++++++++++++++++++++++ leaderboard/leaderboard.proto | 21 +++++++++++++++++++++ submission/submission.proto | 11 ++++------- 3 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 evaluator/evaluator.proto create mode 100644 leaderboard/leaderboard.proto 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; }