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

Method state_complete_frame_read

src/proxy/http2/Http2CommonSession.cc:305–328  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

303}
304
305int
306Http2CommonSession::state_complete_frame_read(int event, void *edata)
307{
308 VIO *vio = static_cast<VIO *>(edata);
309 STATE_ENTER(&Http2CommonSession::state_complete_frame_read, event);
310 ink_assert(event == VC_EVENT_READ_COMPLETE || event == VC_EVENT_READ_READY);
311 if (this->_read_buffer_reader->read_avail() < this->current_hdr.length) {
312 if (this->_should_do_something_else()) {
313 if (this->_reenable_event == nullptr) {
314 vio->disable();
315 this->_reenable_event = this->get_mutex()->thread_holding->schedule_in(this->get_proxy_session(), HRTIME_MSECONDS(1),
316 HTTP2_SESSION_EVENT_REENABLE, vio);
317 } else {
318 vio->reenable();
319 }
320 } else {
321 vio->reenable();
322 }
323 return 0;
324 }
325 Http2SsnDebug("completed frame read, %" PRId64 " bytes available", this->_read_buffer_reader->read_avail());
326
327 return do_process_frame_read(event, vio, true);
328}
329
330int
331Http2CommonSession::do_complete_frame_read()

Callers

nothing calls this directly

Calls 6

read_availMethod · 0.45
disableMethod · 0.45
schedule_inMethod · 0.45
get_proxy_sessionMethod · 0.45
reenableMethod · 0.45

Tested by

no test coverage detected