[about] [index] [prev] [2017-01-15 20:54:47+03:00] [ce80edb9619d3de6cc7a9811a237b5eaf86f1870]
Topics: [nncp]

Почти готов NNCP 0.2 релиз

Но пока с ним повременю чтобы сделать на свежую голову и ещё раз
пройтись по доке.

Основное отличие: поле размера пакета теперь шифруется и в пакет можно
добавлять всякий мусор. Сторонний наблюдатель не узнает какой же
действительно размер полезной нагрузки. Команды создания пакетов теперь
принимают опцию минимального размера который надо сделать. К сожалению
это привело к изменению формата пакета.

Другое крупное изменение: демон и тот кто его вызывает (nncp-call) в
фоне постоянно проверяют директорию на появление новых файлов и сразу же
об этом сообщают противоположной стороне. А также ещё добавлены опции
регулирующие когда же ему отключаться. Всё это вместе приводит к тому,
что можно TCP сессию держать хоть часами и моментально (хорошо, с
запозданием на секунду) узнавать о появлении новых пакетов
(соответственно, и скачивать их). Экономия на дорогих рукопожатиях
(процессор, задержки, кол-во пакетов, трафик).

Ещё одно крупное изменение: добавление nncp-caller команды. Это демон,
cron-демон который по заданным в конфиге правилам опрашивает удалённые
ноды. Это буквально cron: можно задавать когда, с кем, с какими режимами
и опциями делать соединения. Например по будням быстро обрабатывать
высокоприоритетные пакеты, а по выходным разрешать ещё и
низкоприоритетные. В определённое время разрешать только приём данных
или только отправку.

И наконец ещё: в дерево добавлен порт FreeBSD. Пока я его ещё не
отправлял в upstream, хочу самостоятельно до конца протестировать, но в
нём есть скрипты для запуска демонов (-daemon, -caller), конфигурация
ротирования логов, создание spool директории, вывод сообщения о том что
нужно сделать (сгенерировать конфиг) после установки.

[leave comment]