]> git.sesse.net Git - stockfish/blob - src/hashprobe.h
Unbreak compile a bit.
[stockfish] / src / hashprobe.h
1 #ifndef HASHPROBE_H_INCLUDED
2 #define HASHPROBE_H_INCLUDED
3
4 #include "position.h"
5 #include "types.h"
6
7 #include <deque>
8 #include <string>
9
10 #include <grpc/grpc.h>
11 #include <grpc++/server.h>
12 #include <grpc++/server_builder.h>
13 #include "hashprobe.grpc.pb.h"
14
15 class HashProbeImpl final : public hashprobe::HashProbe::Service {
16 public:
17         grpc::Status Probe(grpc::ServerContext* context,
18                            const hashprobe::HashProbeRequest* request,
19                            hashprobe::HashProbeResponse *response);
20
21 private:
22         void FillMove(Stockfish::Position* pos, Stockfish::Move move, hashprobe::HashProbeMove* decoded);
23         void ProbeMove(Stockfish::Position* pos, std::deque<Stockfish::StateInfo>* setup_states, bool invert, hashprobe::HashProbeLine* response);
24         void FillValue(Stockfish::Value value, hashprobe::HashProbeScore* score);
25 };
26
27 class HashProbeThread {
28 public:
29         HashProbeThread(const std::string &server_address);
30         void Shutdown();
31
32 private:
33         HashProbeImpl service;
34         grpc::ServerBuilder builder;
35         std::unique_ptr<grpc::Server> server;
36 };
37
38 #endif