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

Method read_callback

lib_acl_cpp/samples/winaio/AioServer.cpp:87–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85}
86
87bool CAcceptedClientCallback::read_callback(char* data, int len)
88{
89 i_++;
90 if (i_ < 10)
91 std::cout << ">>gets(i:" << i_ << "): " << data;
92
93 // ���Զ�̿ͻ���ϣ���˳�����ر�֮
94 if (strncasecmp(data, "quit", 4) == 0)
95 {
96 client_->format("Bye!\r\n");
97 client_->close();
98 return (true);
99 }
100
101 // ���Զ�̿ͻ���ϣ�������Ҳ�رգ�����ֹ�첽�¼�����
102 else if (strncasecmp(data, "stop", 4) == 0)
103 {
104 client_->format("Stop now!\r\n");
105 client_->close(); // �ر�Զ���첽��
106
107 // ֪ͨ�첽����ر�ѭ������
108 client_->get_handle().stop();
109 return (true);
110 }
111
112 int delay = 0;
113
114 if (strncasecmp(data, "write_delay", strlen("write_delay")) == 0)
115 {
116 // �ӳ�д����
117
118 const char* ptr = data + strlen("write_delay");
119 delay = atoi(ptr);
120 if (delay > 0)
121 {
122 std::cout << ">> write delay " << delay
123 << " second ..." << std::endl;
124 timer_writer* timer = new timer_writer();
125 client_->write(data, len, delay, timer);
126 client_->gets(10, false);
127 return (true);
128 }
129 }
130 else if (strncasecmp(data, "read_delay", strlen("read_delay")) == 0)
131 {
132 // �ӳٶ�����
133
134 const char* ptr = data + strlen("read_delay");
135 delay = atoi(ptr);
136 if (delay > 0)
137 {
138 client_->write(data, len);
139 std::cout << ">> read delay " << delay
140 << " second ..." << std::endl;
141 timer_reader* timer = new timer_reader();
142 client_->gets(10, false, delay, timer);
143 return (true);
144 }

Callers

nothing calls this directly

Calls 7

strncasecmpFunction · 0.85
getsMethod · 0.80
formatMethod · 0.45
closeMethod · 0.45
stopMethod · 0.45
get_handleMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected