app/linked_engine.h¶
IEngine backed by the in-process Kirin engine.
The Kirin engine keeps its state in globals (one logical instance), so a single LinkedEngine wraps those globals. This is the default, lowest-latency engine path for the GUI: no IPC, direct function calls. Access is expected to be serialized by GameSession’s worker thread.
-
namespace kirin
-
class LinkedEngine : public kirin::IEngine¶
- #include <linked_engine.h>
Public Functions
-
virtual void applyOptions(const EngineOptions &opts) override¶
-
virtual void newGame(const std::string &fen = "") override¶
-
virtual bool playMove(const std::string &uci) override¶
-
virtual bool playMove(int encodedMove) override¶
-
virtual int parseMove(const std::string &uci) override¶
-
virtual std::string go(const SearchLimits &limits, const ThinkingCallback &onInfo = nullptr) override¶
-
virtual AnalysisLine analyze(const SearchLimits &limits) override¶
-
virtual void stop() override¶
-
virtual std::string fen() const override¶
-
virtual char sideToMove() const override¶
-
virtual GameResult result() const override¶
-
virtual bool isGameOver() const override¶
-
virtual std::string resultReason() const override¶
Private Functions
-
void runSearch(const SearchLimits &limits, const ThinkingCallback &onInfo, LastIteration &last)¶
-
struct LastIteration¶
-
virtual void applyOptions(const EngineOptions &opts) override¶
-
class LinkedEngine : public kirin::IEngine¶