X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fhashprobe.proto;h=bb34806dfdc53a3a13fdbe5e679d34b987011231;hp=5df9b9c52945f971bdc1fd2ce53c5cfc683966d0;hb=ca0adbd81304536686222c65e7a89857bc67234b;hpb=d963529dcaa3ba80267aaca8b769a3081d2c5da9 diff --git a/src/hashprobe.proto b/src/hashprobe.proto index 5df9b9c5..bb34806d 100644 --- a/src/hashprobe.proto +++ b/src/hashprobe.proto @@ -1,15 +1,45 @@ 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. +} +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 {