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

Method do_io_close

src/proxy/http/Http1ServerSession.cc:106–142  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104}
105
106void
107Http1ServerSession::do_io_close(int alerrno)
108{
109 // Only do the close bookkeeping 1 time
110 if (state != SSN_CLOSED) {
111 swoc::LocalBufferWriter<256> w;
112 bool debug_p = dbg_ctl_http_ss.on();
113
114 state = SSN_CLOSED;
115
116 if (debug_p) {
117 w.print("[{}] session close: nevtc {:x}", con_id, _vc);
118 }
119
120 Metrics::Gauge::decrement(http_rsb.current_server_connections);
121
122 // Update upstream connection tracking data if present.
123 this->release_outbound_connection_tracking();
124
125 if (debug_p) {
126 Dbg(dbg_ctl_http_ss, "%.*s", static_cast<int>(w.size()), w.data());
127 }
128
129 if (_vc) {
130 _vc->do_io_close(alerrno);
131 }
132 _vc = nullptr;
133
134 if (to_parent_proxy) {
135 Metrics::Gauge::decrement(http_rsb.current_parent_proxy_connections);
136 }
137 }
138
139 if (transact_count == released_transactions) {
140 this->destroy();
141 }
142}
143
144// void Http1ServerSession::release()
145//

Callers 1

release_transactionMethod · 0.45

Calls 6

destroyMethod · 0.95
onMethod · 0.45
printMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected