TCP does its best to get data to the other application, but in the event of a disconnect we effectively lose all of it. Developers need to decide how their application reacts to unexpected disconnects. This might not be as idiomatic on Linux, but it gives me a bit more control as an application developer.