66 lines
1.8 KiB
C++
66 lines
1.8 KiB
C++
|
#include "coroutine.hpp"
|
||
|
#include "logger.hpp"
|
||
|
#include "net_address.hpp"
|
||
|
#include "reactor.hpp"
|
||
|
#include "tcp_client.hpp"
|
||
|
#include "tcp_server.hpp"
|
||
|
#include "tinypb.pb.h"
|
||
|
#include "tinypb_channel.hpp"
|
||
|
#include "tinypb_closure.hpp"
|
||
|
#include "tinypb_controller.hpp"
|
||
|
#include <iostream>
|
||
|
using namespace std;
|
||
|
using namespace tinyrpc;
|
||
|
|
||
|
int n = 10;
|
||
|
|
||
|
void test()
|
||
|
{
|
||
|
NetAddress addr("127.0.0.1", 9001);
|
||
|
TinypbChannel channel(addr);
|
||
|
while (n--) {
|
||
|
logger() << "============== test no:" << n << "===============";
|
||
|
|
||
|
queryNameReq req_name;
|
||
|
req_name.set_req_no(20220315);
|
||
|
req_name.set_id(1100110001);
|
||
|
req_name.set_type(1);
|
||
|
queryNameRes res_name;
|
||
|
|
||
|
queryAgeReq req_age;
|
||
|
req_age.set_req_no(00001111);
|
||
|
req_age.set_id(6781);
|
||
|
queryAgeRes res_age;
|
||
|
|
||
|
TinypbClosure cb([]() {
|
||
|
logger() << "==========================";
|
||
|
logger() << "succ call rpc";
|
||
|
logger() << "==========================";
|
||
|
});
|
||
|
|
||
|
QueryService_Stub stub(&channel);
|
||
|
TinypbController rpc_controller;
|
||
|
|
||
|
stub.query_name(&rpc_controller, &req_name, &res_name, &cb);
|
||
|
|
||
|
if (rpc_controller.ErrorCode() != 0) {
|
||
|
logger() << "call rpc method query_name failed, errcode=" << rpc_controller.ErrorCode() << ",error=" << rpc_controller.ErrorText();
|
||
|
}
|
||
|
if (res_name.ret_code() != 0) {
|
||
|
logger() << "query name error, errcode=" << res_name.ret_code() << ", res_info=" << res_name.res_info();
|
||
|
} else {
|
||
|
logger() << "get res_name.age = " << res_name.name();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
// TcpServer server;
|
||
|
TcpClient client(NetAddress("127.0.0.1", 9001));
|
||
|
Coroutine cor(test);
|
||
|
client.addCoroutine(cor);
|
||
|
client.start();
|
||
|
return 0;
|
||
|
}
|