Skip to content

Commit

Permalink
Merge pull request #192 from traP-jp/feat/#191-grpc
Browse files Browse the repository at this point in the history
⚡️ add back-judge proto file
  • Loading branch information
comavius authored Jan 23, 2025
2 parents 3b23fd1 + 9a34749 commit b0fa671
Showing 1 changed file with 114 additions and 0 deletions.
114 changes: 114 additions & 0 deletions api/back-judge.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
syntax = "proto3";


service JudgeService {
rpc Judge(JudgeRequest) returns (JudgeResult) {}
}

message Unit {}

message UUID {
uint64 high = 1;
uint64 low = 2;
}

message OptionalInfo {
optional float time_limit = 1;
optional float memory_limit = 2;
optional string language = 3;
}


message Execution {
OptionalInfo optional_info = 1;
UUID script_id = 2;
int64 directory_count = 3;
int64 text_resource_count = 4;
int64 onetime_text_count = 5;
}

message ExecutionInstance {
repeated UUID text_resource_ids = 1;
repeated string onetime_texts = 2;
}

message JudgeRequest {
UUID judge_id = 1;
int64 test_count = 2;
Execution before_test_execution = 3;
Execution on_test_execution = 4;
Execution after_test_execution = 5;
ExecutionInstance before_test_execution_instance = 6;
repeated ExecutionInstance on_test_execution_instances = 7;
ExecutionInstance after_test_execution_instance = 8;
}

enum JudgeStatus {
AC = 0;
WA = 1;
TLE = 2;
MLE = 3;
OLE = 4;
RE = 5;
CE = 6;
}

message ExecutionResult {
JudgeStatus status = 1;
optional string message = 2;
float score = 3;
float execution_time = 4;
float used_memory = 5;
}


message TerminatedInBeforeTestPhase {
ExecutionResult before_test_execution_result = 1;
}

message TerminatedInOnTestPhase {
ExecutionResult before_test_execution_result = 1;
repeated ExecutionResult on_test_execution_results = 2;
}

message Completed {
ExecutionResult before_test_execution_result = 1;
repeated ExecutionResult on_test_execution_results = 2;
ExecutionResult after_test_execution_result = 3;
}

message JudgeSucceed {
oneof result {
TerminatedInBeforeTestPhase terminated_in_before_test_phase = 1;
TerminatedInOnTestPhase terminated_in_on_test_phase = 2;
Completed completed = 4;
}
}

message FailedInBeforeTestPhase {}

message FailedInOnTestPhase {
ExecutionResult before_test_execution_result = 1;
}

message FailedInAfterTestPhase {
ExecutionResult before_test_execution_result = 1;
repeated ExecutionResult on_test_execution_results = 2;
}

message JudgeFailed {
oneof result {
FailedInBeforeTestPhase failed_in_before_test_phase = 1;
FailedInOnTestPhase failed_in_on_test_phase = 2;
FailedInAfterTestPhase failed_in_after_test_phase = 3;
}
string message = 4;
}

message JudgeResult {
UUID judge_id = 1;
oneof result {
JudgeSucceed judge_succeed = 2;
JudgeFailed judge_failed = 3;
}
}

0 comments on commit b0fa671

Please sign in to comment.