#include #include #include #include #include #include #include #include #include class TestRCPHanlder : public AbstractRPCHandler { public: std::expected Handle(std::string& req, std::string& res) override; }; std::expected TestRCPHanlder::Handle(std::string& rawReq, std::string& rawRes) { control::HelloRequest pbReq; pbReq.ParseFromString(rawReq); std::cout << std::format("kind: {}\n", pbReq.meta().kind()); std::cout << std::format("req message: {}\n", pbReq.message()); return {}; } int main(int argc, char** argv) { TestRCPHanlder handler; TestConnector connector(handler); RPCClient rpcCli(connector); control::HelloRequest pbReq; auto reqMeta = pbReq.mutable_meta(); reqMeta->set_kind("getHello"); pbReq.set_message("What's your name?"); control::HelloResult pbRes; auto trRes = rpcCli.DoTransaction(pbReq, pbRes); std::cout << std::format("res message: {}\n", pbRes.message()); }