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

Method timer_callback

app/master/tools/master_dispatch/server/client/ManagerTimer.cpp:60–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58}
59
60void ManagerTimer::timer_callback(unsigned int)
61{
62 ClientConnection* client;
63
64 // �ӿͻ��˹������󵯳������ӳٴ������Ŀͻ������Ӷ���
65 // �����ݸ�����ˣ��������ʧ�ܣ����ٴ�����ͻ��˹���
66 // �������´ζ�ʱ���ٴγ��Դ���
67
68 logger("total client: %d, total server: %d",
69 (int) ClientManager::get_instance().length(),
70 (int) ServerManager::get_instance().length());
71
72 while (true)
73 {
74 client = ClientManager::get_instance().pop();
75 if (client == NULL)
76 break;
77
78 if (transfer(client) == true)
79 {
80 ClientManager::get_instance().del(client);
81 delete client;
82 continue;
83 }
84
85 // ����ڹ涨��ʱ������Ȼû�з����׼���������ӣ�
86 // ��ֱ��ɾ���ö���
87 if (client->expired())
88 {
89 logger_error("no server side, client(%s) expired!",
90 client->get_peer());
91 delete client;
92 }
93 else
94 {
95 logger_warn("set client(%s) into queue",
96 client->get_peer());
97 ClientManager::get_instance().set(client);
98 }
99 break;
100 }
101}

Callers

nothing calls this directly

Calls 6

expiredMethod · 0.80
lengthMethod · 0.45
popMethod · 0.45
delMethod · 0.45
get_peerMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected