Allow a AsyncSocket to be corked the whole time
authorYang Chi <yangchi@fb.com>
Thu, 12 Nov 2015 23:34:45 +0000 (15:34 -0800)
committerfacebook-github-bot-9 <folly-bot@fb.com>
Fri, 13 Nov 2015 00:20:22 +0000 (16:20 -0800)
commit07c150868f7833b8cf659cf888aa3febd8c2ca8a
tree16770e4e44c4c0e65eb7d0b42f0693d75bd337ee
parent19d24e21568ec8e04da748dbe815f046a327f274
Allow a AsyncSocket to be corked the whole time

Summary: Add a new method to cork a socket in a persistent manner, instead of the current on-off manner. This is default to false. The liger part of turning this on will be in a separate diff.

I thought about whether I need to turn cork off based on some criteria to alleviate the perf degradation. The obvious things I can think off is just amount of data written as a threshold, or a timeout. But TCP is doing this already for us, unless we want the data threshold to be less than MSS, or we want the timeout to be less than 200ms. THoughts?

Reviewed By: shikong

Differential Revision: D2639260

fb-gh-sync-id: 2821f669c9f72d5ac4c33195bb192fc4110ffe9d
folly/io/async/AsyncSSLSocket.cpp
folly/io/async/AsyncSSLSocket.h
folly/io/async/AsyncSocket.cpp
folly/io/async/AsyncSocket.h