sociomantic-tsunami / swarm

Asynchronous client/node framework library
Boost Software License 1.0
14 stars 26 forks source link

Deprecate TCP_CORK based flush. #291

Closed nemanja-boric-sociomantic closed 6 years ago

nemanja-boric-sociomantic commented 6 years ago

The existing flush method relied on the TCP_CORK being set and it would then pull out and put the cork back in. However this doesn't work, because putting the cork back in had to be done after all the packets are actually sent, otherwise the last incomplete packet will be delayed for the 200ms. Since we moved to the explicit application buffering for the large data and to the explicit flushing for the control messages this flush was deprecated.

See sociomantic-tsunami/dmqproto#48

gavin-norman-sociomantic commented 6 years ago

I do wonder if now would be a good time to start some kind of README about neo from the internal developer point-of-view. The READMEs we currently have describe the library from the user's POV, but I think it'd also be worth having a central place to put notes on using the library to implement protocols, and various design choices / experience.

nemanja-boric-sociomantic commented 6 years ago

I think the swarm's documentation should be from the internal developer point-of-view. I see little reason that user should read swarm documentation, since the only way they are interfacing with swarm is via protos.

nemanja-boric-sociomantic commented 6 years ago

Updated with deprecation of the flush_requested.