<div dir="ltr"><span style="font-size:12.8000001907349px">Awesome, thanks for putting this together!</span><br style="font-size:12.8000001907349px"><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">On Tue, May 5, 2015 at 6:39 AM, chen <</span><a href="mailto:gzchenym@126.com" style="font-size:12.8000001907349px">gzchenym@126.com</a><span style="font-size:12.8000001907349px">> wrote:</span><br style="font-size:12.8000001907349px"><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> There are 3 conditions, if true at the same time, may trigger SSL_write to</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> send small record over the link, hard coded 1400 bytes at this time to keep</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> it fit into MTU size. We just send out 3 of this small record at most to</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> reduce framing overhead when serving large object, that is enough for</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> browser to discovery other dependency of the page at top of html file. If</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> the buffer chain is smaller than 4096 bytes, it will not justify the</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> overhead of sending small record. After idle for 60s(hard coded at this</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">> moment), start all over again.</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">></span><br style="font-size:12.8000001907349px"><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">A few followup notes and questions...</span><br style="font-size:12.8000001907349px"><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">1) "small record" size should be closer to 1300 bytes to account for</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">various overhead, see [1].</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">2) any way to guarantee that packets are flushed at record boundaries?</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">3) why just 3 packets? I'd suggest emitting the first CWND's worth.. aka,</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">10.</span><br style="font-size:12.8000001907349px"><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">ig</span><br style="font-size:12.8000001907349px"><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">[1] </span><a href="https://issues.apache.org/jira/browse/TS-2503" target="_blank" style="font-size:12.8000001907349px">https://issues.apache.org/jira/browse/TS-2503</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 12, 2015 at 7:52 AM, Ilya Grigorik <span dir="ltr"><<a href="mailto:ilya@igvita.com" target="_blank">ilya@igvita.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Awesome, thanks for putting this together!<div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Tue, May 5, 2015 at 6:39 AM, chen <span dir="ltr"><<a href="mailto:gzchenym@126.com" target="_blank">gzchenym@126.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="line-height:1.7;color:rgb(0,0,0);font-size:14px;font-family:Arial"><div style="color:rgb(0,0,0);line-height:1.7;font-family:Arial;font-size:14px"><div><span style="line-height:1.7">There are 3 conditions, if true at the same time, may trigger SSL_write to send small record over the link, hard coded 1400 bytes at this time to keep it fit into MTU size. We just send out 3 of this small record at most to reduce framing overhead when serving large object, that is enough for browser to discovery other dependency of the page at top of html file. If the buffer chain is smaller than 4096 bytes, it will not justify the overhead of sending small record. After idle for 60s(hard coded at this moment), start all over again.</span></div></div></div></blockquote><div><br></div></span><div>A few followup notes and questions...</div><div><br></div><div>1) "small record" size should be closer to 1300 bytes to account for various overhead, see [1].</div><div>2) any way to guarantee that packets are flushed at record boundaries?</div><div>3) why just 3 packets? I'd suggest emitting the first CWND's worth.. aka, 10.</div><div><br></div><div>ig</div><div><br></div><div>[1] <a href="https://issues.apache.org/jira/browse/TS-2503" target="_blank">https://issues.apache.org/jira/browse/TS-2503</a></div></div></div></div>
</blockquote></div><br></div>