X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fhashprobe.h;fp=src%2Fhashprobe.h;h=4d0afec9dde8e9e53ebcea5e0f93e725cdafd7e1;hp=0000000000000000000000000000000000000000;hb=e6438f46fc655dca2413b02921e30546d762c72e;hpb=0716768e131d9876ba20d93147d1a1becd0795a4 diff --git a/src/hashprobe.h b/src/hashprobe.h new file mode 100644 index 00000000..4d0afec9 --- /dev/null +++ b/src/hashprobe.h @@ -0,0 +1,37 @@ +#ifndef HASHPROBE_H_INCLUDED +#define HASHPROBE_H_INCLUDED + +#include "types.h" + +#include +#include + +#include +#include +#include +#include "hashprobe.grpc.pb.h" + +class HashProbeImpl final : public hashprobe::HashProbe::Service { +public: + grpc::Status Probe(grpc::ServerContext* context, + const hashprobe::HashProbeRequest* request, + hashprobe::HashProbeResponse *response); + +private: + void FillMove(Move move, hashprobe::HashProbeMove* decoded); + void ProbeMove(Position* pos, std::stack* setup_states, bool invert, hashprobe::HashProbeLine* response); + void FillValue(Value value, hashprobe::HashProbeScore* score); +}; + +class HashProbeThread { +public: + HashProbeThread(const std::string &server_address); + void Shutdown(); + +private: + HashProbeImpl service; + grpc::ServerBuilder builder; + std::unique_ptr server; +}; + +#endif