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

Method state_wait_for_close

src/proxy/http/Http1ClientSession.cc:289–321  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

287}
288
289int
290Http1ClientSession::state_wait_for_close(int event, void *data)
291{
292 STATE_ENTER(&Http1ClientSession::state_wait_for_close, event, data);
293
294 ink_assert(data == ka_vio);
295 ink_assert(read_state == HCS_HALF_CLOSED);
296
297 Event *e = static_cast<Event *>(data);
298 if (e == schedule_event) {
299 schedule_event = nullptr;
300 }
301
302 switch (event) {
303 case VC_EVENT_EOS:
304 case VC_EVENT_ERROR:
305 case VC_EVENT_ACTIVE_TIMEOUT:
306 case VC_EVENT_INACTIVITY_TIMEOUT:
307 half_close = false;
308 this->do_io_close(EHTTP_ERROR);
309 break;
310 case VC_EVENT_READ_READY:
311 // Drain any data read
312 _reader->consume(_reader->read_avail());
313 break;
314
315 default:
316 ink_release_assert(0);
317 break;
318 }
319
320 return 0;
321}
322
323int
324Http1ClientSession::state_slave_keep_alive(int event, void *data)

Callers

nothing calls this directly

Calls 3

do_io_closeMethod · 0.95
consumeMethod · 0.45
read_availMethod · 0.45

Tested by

no test coverage detected