read , async_read , write и async_write являются составленными функциями, которые вызывают функции класса несколько раз, пока не будет передано запрошенное количество байтов. Они включены в библиотеку для удобства. В противном случае каждый разработчик должен реализовать ту же логику.
Функции класса напрямую оборачивают базовые функции ОС, что в основном указано в документации: эти функции могут возвращаться до того, как будут переданы все байты.
В большинстве случаев вы должны использовать бесплатные (составные) функции для передачи данных.