Masori, We probably don't need to copy. The copy is just moving blocks between lists but I agree that it adds complexity. At the time I was getting rid of the PluginVC wrapper I was trying to understand both sides of the do_io operations. So things probably ended up more complex than they needed to be. I think you should be able to take the vio from the SM and feed it into the Http2ConnectionState operations. At least it is worth a try. Susan
Sent from Yahoo Mail on Android On Mon, Nov 27, 2017 at 7:52 PM, Masaori Koshiba<masa...@apache.org> wrote: Hi HTTP/2 hackers, I’m fighting with #2795. And I’m really confused by `Http2Stream::update_write_request()`. Why do we need to copy over data from `write_vio` to `response_buffer`? ( https://github.com/apache/trafficserver/blob/master/proxy/http2/Http2Stream.cc#L538-L556 ) It looks like this makes things really complicated. I'd like to avoid this copy. Backgrounds: The root cause of #2795 is described on #2837. The solution looks making `write_vio.ndone` accurate. If we can avoid the copy, `Http2Stream::update_write_request()` will be simple and we can easily fix the bug. - https://github.com/apache/trafficserver/issues/2795 - https://github.com/apache/trafficserver/pull/2837 Thanks, Masaori