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

Method generate_frame

src/proxy/http3/Http3DataFramer.cc:30–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28Http3DataFramer::Http3DataFramer(Http3Transaction *transaction, VIO *source) : _transaction(transaction), _source_vio(source) {}
29
30Http3FrameUPtr
31Http3DataFramer::generate_frame()
32{
33 if (!this->_transaction->is_response_header_sent()) {
34 return Http3FrameFactory::create_null_frame();
35 }
36
37 Http3FrameUPtr frame = Http3FrameFactory::create_null_frame();
38 IOBufferReader *reader = this->_source_vio->get_reader();
39
40 size_t payload_len = 128 * 1024;
41 if (!reader->is_read_avail_more_than(payload_len)) {
42 payload_len = reader->read_avail();
43 }
44
45 if (payload_len) {
46 frame = Http3FrameFactory::create_data_frame(reader, payload_len);
47 this->_source_vio->ndone += payload_len;
48 }
49
50 return frame;
51}
52
53bool
54Http3DataFramer::is_done() const

Callers 1

on_write_readyMethod · 0.45

Calls 4

get_readerMethod · 0.80
read_availMethod · 0.45

Tested by

no test coverage detected