-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.cpp
39 lines (31 loc) · 1.34 KB
/
server.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "server/Server.h"
volatile sig_atomic_t flag;
void handler(int) {
flag = 1;
}
int main(int argc, char **argv) {
if (argc != 7) {
std::cout << "Usage: server <device> <idx> <numa> <qps> <min-timer> <max-timer>" << std::endl;
std::cout << "\t<device>: name of the device to use for the connection (example: mlx5_1)" << std::endl;
std::cout << "\t<idx>: unique index associated to this server (starting from 0)" << std::endl;
std::cout << "\t<numa>: index of the NUMA node to use when allocating buffers" << std::endl;
std::cout << "\t<qps>: number of Queue-Pairs to create" << std::endl;
std::cout << "\t<min-timer>: minimum QP reset timer value, in number of packets (example: 200)" << std::endl;
std::cout << "\t<max-timer>: maximum QP reset timer value, in number of packets (example: 2000)" << std::endl;
return 1;
}
signal(SIGINT, &handler);
Server *server = nullptr;
try {
server = new Server(std::string(argv[1]), std::stoi(argv[2]),
std::stoi(argv[3]), std::stoi(argv[4]),
std::stoi(argv[5]), std::stoi(argv[6]));
if (server->init() == 0) {
for (;;)
if (flag) throw (int) flag;
}
} catch (int x) {
delete (server);
}
return 0;
}