MCPcopy Create free account
hub / github.com/acl-dev/acl / main

Function main

lib_acl_cpp/samples/benchmark/accept/main.cpp:8–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6}
7
8int main(int argc, char* argv[])
9{
10 int ch, max = 100;
11 acl::string addr("127.0.0.1:8088");
12
13 while ((ch = getopt(argc, argv, "hs:n:")) > 0)
14 {
15 switch (ch)
16 {
17 case 'h':
18 usage(argv[0]);
19 return 0;
20 case 's':
21 addr = optarg;
22 break;
23 case 'n':
24 max = atoi(optarg);
25 break;
26 default:
27 usage(argv[0]);
28 return 0;
29 }
30 }
31
32 acl::server_socket server;
33 if (server.open(addr) == false)
34 {
35 printf("can't listen %s, %s\r\n", addr.c_str(), acl::last_serror());
36 return 1;
37 }
38 else
39 printf("listen %s ok\r\n", addr.c_str());
40
41 std::list<acl::socket_stream*> clients;
42 for (int i = 0; i < max; i++)
43 {
44 acl::socket_stream* conn = server.accept();
45 if (conn == NULL)
46 {
47 printf("accept error %s\r\n", acl::last_serror());
48 break;
49 }
50 clients.push_back(conn);
51 printf("accept one ok, max: %d, curr: %d, fd: %d\r\n",
52 max, i, conn->sock_handle());
53 }
54
55 printf("enter any key to exist\r\n");
56 getchar();
57
58 std::list<acl::socket_stream*>::iterator it = clients.begin();
59 for (; it != clients.end(); ++it)
60 delete (*it);
61
62 printf("Over now\r\n");
63 return 0;
64}

Callers

nothing calls this directly

Calls 10

beginMethod · 0.80
usageFunction · 0.70
getoptFunction · 0.50
last_serrorFunction · 0.50
openMethod · 0.45
c_strMethod · 0.45
acceptMethod · 0.45
push_backMethod · 0.45
sock_handleMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…