Traditional application programming interfaces for transport protocols make a virtue of hiding most internal per-connection state. We argue that this informationhiding precludes many potentially useful application features and performance optimizations. We advocate a disciplined, portable, and secure interface that gives applications both "get" and "set" access to transport connection state.
Jeffrey C. Mogul, Lawrence S. Brakmo, David E. Low