Приложение не контролирует передачу пакетов (я предполагаю, что вы отправляете файл с использованием сокета TCP). Таким образом, пакеты отправляются в зависимости от размера окна TCP. Размер окна определяется различными факторами: MSS (максимальный размер сегмента), состояние сети (есть перегрузка или нет) и скорость вашего получателя для обработки пакетов.
Однако, давайте предположим, что 4096 байтов будут сегментированы на 1460 (1), 1460 (2) и 1176 (3) (при условии, что MSS = 1460 и размер окна = MSS (фиксированный)). Если алгоритм Nagle включен, 1460 (1) будет отправлено немедленно, потому что это первый сегмент, 1460 (2) будет отправлено немедленно, потому что = MSS и 1176 (3) будут задерживаться, пока TCP не получит подтверждение предыдущих сегментов.