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

Method state_slave_keep_alive

src/proxy/http/Http1ClientSession.cc:323–360  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

321}
322
323int
324Http1ClientSession::state_slave_keep_alive(int event, void *data)
325{
326 STATE_ENTER(&Http1ClientSession::state_slave_keep_alive, event, data);
327
328 ink_assert(data == slave_ka_vio);
329
330 Event *e = static_cast<Event *>(data);
331 if (e == schedule_event) {
332 schedule_event = nullptr;
333 }
334
335 switch (event) {
336 default:
337 case VC_EVENT_READ_COMPLETE:
338 // These events are bogus
339 ink_assert(0);
340 /* Fall Through */
341 case VC_EVENT_ERROR:
342 case VC_EVENT_READ_READY:
343 case VC_EVENT_EOS:
344 // The server session closed or something is amiss
345 bound_ss->do_io_close();
346 bound_ss = nullptr;
347 slave_ka_vio = nullptr;
348 break;
349
350 case VC_EVENT_ACTIVE_TIMEOUT:
351 case VC_EVENT_INACTIVITY_TIMEOUT:
352 // Timeout - place the session on the shared pool
353 bound_ss->release(nullptr);
354 bound_ss = nullptr;
355 slave_ka_vio = nullptr;
356 break;
357 }
358
359 return 0;
360}
361
362int
363Http1ClientSession::state_keep_alive(int event, void *data)

Callers

nothing calls this directly

Calls 2

do_io_closeMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected