1 #ifndef HASHPROBE_H_INCLUDED
2 #define HASHPROBE_H_INCLUDED
10 #include <grpc/grpc.h>
11 #include <grpc++/server.h>
12 #include <grpc++/server_builder.h>
13 #include "hashprobe.grpc.pb.h"
15 class HashProbeImpl final : public hashprobe::HashProbe::Service {
17 grpc::Status Probe(grpc::ServerContext* context,
18 const hashprobe::HashProbeRequest* request,
19 hashprobe::HashProbeResponse *response);
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);
27 class HashProbeThread {
29 HashProbeThread(const std::string &server_address);
33 HashProbeImpl service;
34 grpc::ServerBuilder builder;
35 std::unique_ptr<grpc::Server> server;