MCPcopy Create free account
hub / github.com/apache/trafficserver / process_ready_list

Method process_ready_list

src/iocore/net/NetHandler.cc:271–319  ·  view source on GitHub ↗

Walk through the ready list

Source from the content-addressed store, hash-verified

269// Walk through the ready list
270//
271void
272NetHandler::process_ready_list()
273{
274 NetEvent *ne = nullptr;
275
276#if defined(USE_EDGE_TRIGGER)
277 // NetEvent *
278 while ((ne = read_ready_list.dequeue())) {
279 // Initialize the thread-local continuation flags
280 set_cont_flags(ne->get_control_flags());
281 if (ne->closed) {
282 free_netevent(ne);
283 } else if (ne->read.enabled && ne->read.triggered) {
284 ne->net_read_io(this);
285 } else if (!ne->read.enabled) {
286 read_ready_list.remove(ne);
287 }
288 }
289 while ((ne = write_ready_list.dequeue())) {
290 set_cont_flags(ne->get_control_flags());
291 if (ne->closed) {
292 free_netevent(ne);
293 } else if (ne->write.enabled && ne->write.triggered) {
294 ne->net_write_io(this);
295 } else if (!ne->write.enabled) {
296 write_ready_list.remove(ne);
297 }
298 }
299#else /* !USE_EDGE_TRIGGER */
300 while ((ne = read_ready_list.dequeue())) {
301 set_cont_flags(ne->get_control_flags());
302 if (ne->closed)
303 free_netevent(ne);
304 else if (ne->read.enabled && ne->read.triggered)
305 ne->net_read_io(this, this->thread);
306 else if (!ne->read.enabled)
307 ne->ep.modify(-EVENTIO_READ);
308 }
309 while ((ne = write_ready_list.dequeue())) {
310 set_cont_flags(ne->get_control_flags());
311 if (ne->closed)
312 free_netevent(ne);
313 else if (ne->write.enabled && ne->write.triggered)
314 write_to_net(this, ne, this->thread);
315 else if (!ne->write.enabled)
316 ne->ep.modify(-EVENTIO_WRITE);
317 }
318#endif /* !USE_EDGE_TRIGGER */
319}
320
321//
322// The main event for NetHandler

Callers

nothing calls this directly

Calls 6

set_cont_flagsFunction · 0.85
net_write_ioMethod · 0.80
modifyMethod · 0.80
dequeueMethod · 0.45
net_read_ioMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected