Артем, а эти ethernet данные ты получаешь "нормальным" путем, или всю сетку слушаешь?
Не очень понял вопрос. Что значит "слушать всю сетку"?
А пакеты у меня UDP-шные, и обрабатываю их по своему порту...
Лучше всего создать достаточно ёмкую очередь и с одного конца пополнять её данными из сетки, а с другого блоками писать на диск, очищая очередь и делать это параллельно двумя потоками. А ёмкость очереди и размер блока подобрать таким образом, чтобы потоку пополнения очереди никогда не приходилось ждать потока очистки очереди для самого медленного девайса, обратное ожидание допустимо.
Я, может не совсем точно описал проблему: все данные, которые доходят до программы, на диск попадают. Тут все верно. Другое дело, что при использовании "обыкновенного" харда, при этом начинают теряться "пакеты", а при использовании харда через USB такого не происходит...
т.е. такое ощущение, будто в первом случае запись на диск "съедает" больше ресурсов, чем во втором (и похоже, что из-за этого в первом случае я не успеваю "выгребать" пакеты из сетевой карточки, и они теряются
). Почему? Как это исправить?