гарантии нет.В Linux есть параметры конфигурации ОС, net.core.{r,w}mem_max
, в моем дистрибутиве они установлены по умолчанию, 208 КБ.Прочитайте /proc/sys/net/core/rmem_max
и т. Д., Чтобы увидеть ограничения.Для действительно высокоскоростного ipc вы все равно хотите что-то вроде кольцевого буфера совместно используемой памяти, не нужно проходить через ОС для каждого сообщения, только чтобы разбудить другой конец, если он простаивает в ожидании буферов.
DGRAMсообщения всегда отправляются целыми, в AF_UNIX
(иначе AF_LOCAL
) нет такой вещи, как сегментация (так как она полностью внутри коробки).Если вы не предоставите достаточно большой приемный буфер, остаток скорее всего просто будет отброшен.