X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fhashprobe.proto;h=dfd16fdcd3dcfbd4bcdc75799449d6cce69c48af;hp=5df9b9c52945f971bdc1fd2ce53c5cfc683966d0;hb=678d7c5c411d6f2f120b7735d292df1d3c66c601;hpb=5d7ad47c198c54e7a91876a6d8d8488a0c23a1ba diff --git a/src/hashprobe.proto b/src/hashprobe.proto index 5df9b9c5..dfd16fdc 100644 --- a/src/hashprobe.proto +++ b/src/hashprobe.proto @@ -1,15 +1,44 @@ 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_CP = 0; + SCORE_MATE = 1; + } + ScoreType score_type = 1; + int32 score_cp = 2; + int32 score_mate = 3; } service HashProbe {