tinyrpc/test/servertest/servertest.cc

52 lines
1.4 KiB
C++

#include "logger.hpp"
#include "tcp_server.hpp"
#include "tinypb.pb.h"
#include <google/protobuf/service.h>
#include <iostream>
using namespace std;
using namespace tinyrpc;
class QueryServiceImpl : public QueryService {
public:
QueryServiceImpl() { }
~QueryServiceImpl() { }
void query_name(google::protobuf::RpcController* controller,
const ::queryNameReq* request,
::queryNameRes* response,
::google::protobuf::Closure* done) override
{
logger() << "QueryServiceImpl.query_name, req={" << request->ShortDebugString() << "}";
response->set_ret_code(0);
response->set_res_info("OK");
response->set_req_no(request->req_no());
response->set_id(request->id());
response->set_name("yyy");
done->Run();
}
void query_age(google::protobuf::RpcController* controller,
const ::queryAgeReq* request,
::queryAgeRes* response,
::google::protobuf::Closure* done) override
{
logger() << "QueryServiceImpl.query_name, req={" << request->ShortDebugString() << "}";
response->set_ret_code(0);
response->set_res_info("OK");
response->set_req_no(request->req_no());
response->set_id(request->id());
response->set_age(20);
done->Run();
}
private:
};
int main()
{
TcpServer server("0.0.0.0", 9001);
server.registerService(std::make_shared<QueryServiceImpl>());
server.start();
return 0;
}