X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fhashprobe.proto;h=175cd7731a32784054db230a74af697815e605e0;hp=5df9b9c52945f971bdc1fd2ce53c5cfc683966d0;hb=4455f354f7b3ea7446c6c26dcb2837ca2b7be06f;hpb=d963529dcaa3ba80267aaca8b769a3081d2c5da9 diff --git a/src/hashprobe.proto b/src/hashprobe.proto index 5df9b9c5..175cd773 100644 --- a/src/hashprobe.proto +++ b/src/hashprobe.proto @@ -1,15 +1,47 @@ syntax = "proto3"; +package hashprobe; message HashProbeRequest { string fen = 1; } message HashProbeResponse { - bool found = 1; - int32 move = 2; - int32 value = 3; - int32 eval = 4; - int32 depth = 5; - int32 bound = 6; + HashProbeLine root = 2; + repeated HashProbeLine line = 1; +} +message HashProbeLine { + HashProbeMove move = 1; + bool found = 2; + + repeated HashProbeMove pv = 3; + HashProbeScore value = 4; // Dynamic eval (may be inexact, see the "bound" field) + HashProbeScore eval = 5; // Static eval + int32 depth = 6; + + enum ValueBound { + BOUND_NONE = 0; + BOUND_UPPER = 1; + BOUND_LOWER = 2; + BOUND_EXACT = 3; + }; + ValueBound bound = 7; +} + +message HashProbeMove { + string from_sq = 1; // a1, a2, etc. + string to_sq = 2; + string promotion = 3; // Q, R, etc. + + string pretty = 4; // e.g. Rxf6+ +} +message HashProbeScore { + enum ScoreType { + SCORE_NONE = 0; + SCORE_CP = 1; + SCORE_MATE = 2; + } + ScoreType score_type = 1; + int32 score_cp = 2; + int32 score_mate = 3; } service HashProbe {