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

Method on_write_ready

src/proxy/http3/Http3FrameCollector.cc:34–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32} // end anonymous namespace
33
34Http3ErrorUPtr
35Http3FrameCollector::on_write_ready(QUICStreamId stream_id, MIOBuffer &writer, size_t &nwritten, bool &all_done)
36{
37 all_done = true;
38 nwritten = 0;
39
40 for (auto g : this->_generators) {
41 if (g->is_done()) {
42 continue;
43 }
44 size_t len = 0;
45 Http3FrameUPtr frame = g->generate_frame();
46 if (frame) {
47 auto b = frame->to_io_buffer_block();
48 len = writer.write(b.get(), INT64_MAX, 0);
49 nwritten += len;
50 Dbg(dbg_ctl_http3, "[TX] [%" PRIu64 "] | %s size=%zu", stream_id, Http3DebugNames::frame_type(frame->type()), len);
51 }
52
53 all_done &= g->is_done();
54 }
55
56 return Http3ErrorUPtr(nullptr);
57}
58
59void
60Http3FrameCollector::add_generator(Http3FrameGenerator *generator)

Callers 2

_process_write_vioMethod · 0.80

Calls 6

to_io_buffer_blockMethod · 0.80
is_doneMethod · 0.45
generate_frameMethod · 0.45
writeMethod · 0.45
getMethod · 0.45
typeMethod · 0.45

Tested by

no test coverage detected