X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/24bebc0ecf83446c7371eff69042322aab34976a..ba03b19875aa2e3586e49b10904563cdd3b91de0:/rpc/rpctest.cc diff --git a/rpc/rpctest.cc b/rpc/rpctest.cc index 7217b25..47d5bce 100644 --- a/rpc/rpctest.cc +++ b/rpc/rpctest.cc @@ -15,7 +15,7 @@ char log_thread_prefix = 'r'; rpcs *server; // server rpc object rpcc *clients[NUM_CL]; // client rpc object string dst; //server's ip address -int port; +in_port_t port; // server-side handlers. they must be methods of some class // to simplify rpcs::reg(). a server process can have handlers @@ -68,7 +68,7 @@ srv service; void startserver() { - server = new rpcs((unsigned int)port); + server = new rpcs(port); server->reg(22, &srv::handle_22, &service); server->reg(23, &srv::handle_fast, &service); server->reg(24, &srv::handle_slow, &service); @@ -80,8 +80,8 @@ testmarshall() { marshall m; request_header rh{1,2,3,4,5}; - m.pack_req_header(rh); - VERIFY(m.size()==RPC_HEADER_SZ); + m.pack_header(rh); + VERIFY(((string)m).size()==RPC_HEADER_SZ); int i = 12345; unsigned long long l = 1223344455L; string s = "hallo...."; @@ -89,14 +89,12 @@ testmarshall() m << l; m << s; - char *b; - size_t sz; - m.take_buf(&b,&sz); - VERIFY(sz == RPC_HEADER_SZ+sizeof(i)+sizeof(l)+s.size()+sizeof(int)); + string b = m; + VERIFY(b.size() == RPC_HEADER_SZ+sizeof(i)+sizeof(l)+s.size()+sizeof(int)); - unmarshall un(b,sz); + unmarshall un(b, true); request_header rh1; - un.unpack_req_header(&rh1); + un.unpack_header(rh1); VERIFY(memcmp(&rh,&rh1,sizeof(rh))==0); int i1; unsigned long long l1; @@ -131,11 +129,11 @@ client1(size_t cl) int arg = (random() % 1000); int rep; - auto start = std::chrono::steady_clock::now(); + auto start = steady_clock::now(); int ret = clients[which_cl]->call(which ? 23 : 24, rep, arg); - auto end = std::chrono::steady_clock::now(); - auto diff = std::chrono::duration_cast(end - start).count(); + auto end = steady_clock::now(); + auto diff = duration_cast(end - start).count(); if (ret != 0) cout << diff << " ms have elapsed!!!" << endl; VERIFY(ret == 0); @@ -373,7 +371,7 @@ main(int argc, char *argv[]) debug_level = atoi(optarg); break; case 'p': - port = atoi(optarg); + port = (in_port_t)atoi(optarg); break; case 'l': VERIFY(setenv("RPC_LOSSY", "5", 1) == 0); @@ -401,7 +399,7 @@ main(int argc, char *argv[]) if (isclient) { // server's address. - dst = "127.0.0.1:" + std::to_string(port); + dst = "127.0.0.1:" + to_string(port); // start the client. bind it to the server.