Вообще-то так и делается в нормальных продуктах. Буфер ОС существует для других целей, а не для накопления "пакетов", определённых протоколом прикладного уровня.Borjomy_1 писал(а):Т.е вместо того, чтобы использовать сбор пакетов операционной системой, предлагается изобретать велосипед и вручную отслеживать дополнительно созданный буфер
Не думаете же Вы, что mp3 файл (размером 10 Мб), который вы качаете браузером по протоколу http, хранится в буфере ОС пока не скачаются все 10 Мб?
Ну так не используйте в качестве буфера строку. Буфер фиксированного размера - это не проблема в LabVIEW.Borjomy_1 писал(а):под LabView работа со строками предполагает выделение памяти под строку при каждой операции, в результате чего невозможно организовать честный строковый буфер постоянного размера?
(Для уточнения терминоголии.)Borjomy_1 писал(а):Сложно добавить в событие размер пакета, это событие вызвавшего?
Никаких "пакетов" на данном этапе не рассматривается. Пакеты TCP и протоколов более низкого уровня пользователей не интересуют. А о протоколе прикладного уровня библиотека ничего не знает (и не должна знать ни при каких условиях, т.к. она, в данном смысле, универсальная).
(Если Вы имели ввиду размер данных, доступных для чтения, в буфере ОС...)
Теоретически - возможно, если ОС предоставляет такие средства. Практически - сложно или невозможно. В любом, случае, это бессмысленно, потому что в момент времени между проверкой этого размера и чтением данных могут появиться новые данные, которые желательно считать вместе со старыми.
Очевидно, да.Borjomy_1 писал(а):Операционная система Windows не является операционной системой реального времени. Между окончанием считывания блока данных и командой Continue tracking может пройти неопределенное количество времени.
Нет. Если в промежуток времени между окончанием считывания блока данных и командой Continue tracking придут данные, то событие будет сгенерировано после выполнения команды Continue tracking. Данные из буфера ОС никуда не денутся.Borjomy_1 писал(а):Можно получить пропуск события прихода пакета.