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

Method Http3Transaction

src/proxy/http3/Http3Transaction.cc:417–441  ·  view source on GitHub ↗

Http3Transaction

Source from the content-addressed store, hash-verified

415// Http3Transaction
416//
417Http3Transaction::Http3Transaction(Http3Session *session, QUICStreamVCAdapter::IOInfo &info) : super(session, info)
418{
419 QUICStreamId stream_id = this->_info.adapter.stream().id();
420
421 this->_header_framer = new Http3HeaderFramer(this, &this->_write_vio, session->local_qpack(), stream_id);
422 this->_data_framer = new Http3DataFramer(this, &this->_write_vio);
423 this->_frame_collector.add_generator(this->_header_framer);
424 this->_frame_collector.add_generator(this->_data_framer);
425 // this->_frame_collector.add_generator(this->_push_controller);
426
427 HTTPType http_type = HTTP_TYPE_UNKNOWN;
428 if (this->direction() == NET_VCONNECTION_OUT) {
429 http_type = HTTP_TYPE_RESPONSE;
430 } else {
431 http_type = HTTP_TYPE_REQUEST;
432 }
433 this->_header_handler = new Http3HeaderVIOAdaptor(&this->_read_vio, http_type, session->remote_qpack(), stream_id);
434 this->_data_handler = new Http3StreamDataVIOAdaptor(&this->_read_vio);
435
436 this->_frame_dispatcher.add_handler(session->get_received_frame_counter());
437 this->_frame_dispatcher.add_handler(this->_header_handler);
438 this->_frame_dispatcher.add_handler(this->_data_handler);
439
440 SET_HANDLER(&Http3Transaction::state_stream_open);
441}
442
443Http3Transaction::~Http3Transaction()
444{

Callers

nothing calls this directly

Calls 7

local_qpackMethod · 0.80
add_generatorMethod · 0.80
idMethod · 0.45
directionMethod · 0.45
remote_qpackMethod · 0.45
add_handlerMethod · 0.45

Tested by

no test coverage detected