syntax = "proto3";
+package hashprobe;
+
message HashProbeRequest {
string fen = 1;
}
message HashProbeResponse {
- bool found = 1;
- int32 move = 2; // See types.h
- int32 value = 3; // Dynamic eval (may be inexact, see the "bound" field)
- int32 eval = 4; // Static eval
- int32 depth = 5;
+ HashProbeLine root = 2;
+ repeated HashProbeLine line = 1;
+}
+message HashProbeLine {
+ HashProbeMove move = 1;
+ bool found = 2;
+
+ repeated HashProbeMove pv = 3;
+ int32 value = 4; // Dynamic eval (may be inexact, see the "bound" field)
+ int32 eval = 5; // Static eval
+ int32 depth = 6;
enum ValueBound {
BOUND_NONE = 0;
BOUND_LOWER = 2;
BOUND_EXACT = 3;
};
- ValueBound bound = 6;
+ ValueBound bound = 7;
+}
+
+message HashProbeMove {
+ string from_sq = 1; // a1, a2, etc.
+ string to_sq = 2;
+ string promotion = 3; // Q, R, etc.
}
service HashProbe {