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