57 lines
1.5 KiB
C++
57 lines
1.5 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() << "}";
|
|
logger() << response;
|
|
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;
|
|
}
|