b02a7a92fccac6313b4e5898893c06d61a6ee953
[stockfish] / src / hashprobe.proto
1 syntax = "proto3";
2 package hashprobe;
3
4 message HashProbeRequest {
5         string fen = 1;
6 }
7 message HashProbeResponse {
8         repeated HashProbeLine line = 1;
9 }
10 message HashProbeLine {
11         HashProbeMove move = 1;
12         bool found = 2;
13
14         repeated HashProbeMove pv = 3;
15         int32 value = 4;  // Dynamic eval (may be inexact, see the "bound" field)
16         int32 eval = 5;  // Static eval
17         int32 depth = 6;
18
19         enum ValueBound {
20                 BOUND_NONE = 0;
21                 BOUND_UPPER = 1;
22                 BOUND_LOWER = 2;
23                 BOUND_EXACT = 3;
24         };
25         ValueBound bound = 7;
26 }
27
28 message HashProbeMove {
29         string from_sq = 1;  // a1, a2, etc.
30         string to_sq = 2;
31         string promotion = 3;  // Q, R, etc.
32 }
33
34 service HashProbe {
35         rpc Probe(HashProbeRequest) returns (HashProbeResponse) {}
36 }