Замечание. Не «быстрые TCP-сокеты» и не «оптимизация TCP-сокетов», а быстрые биндинги/обёртки и оптимизация биндингов/обёрток. К сокетам это отношения не имеет.
всё правильно, сообщения появляются на уровне приложения, а передаются они через TCP. Когда приложение может обработать неполное сообщение, полезно знать сколько было обработано
я не считаю что можно обрабатывать без накопления, там несколько уровней буферов и может возникнуть ситуация, когда сокет закрылся, но часть данных приложения уже ушла. Можно просто выкидывать такие куски на другой стороне, а можно пытаться продолжить после открытия нового сокета
По логике позволяет более гибко реализовывать flow control. Я сам не использовал, но если топикстартер добавит в сравнение — узнаем лучше с ним или нет.
честно говоря, непонятно как такие вещи воспроизвести.
Разницу между active,once и active,N мы видим только и исключительно на продакшне. Воспроизвести это даже на 10-гигабитном офисном стенде не получается
Быстрые TCP сокеты на Erlang