Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.FTN.DEVELOP
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.FTN.DEVELOP с датами от 12 Jul 13 20:52:30 до 18 Oct 24 22:48:06, всего сообщений: 2735
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2030 из 2735 =================================== RU.FTN.DEVELOP =
От   : Nil A                            2:5015/46          08 Jan 22 01:01:34
Кому : Alexey Vissarionov                                  08 Jan 22 01:01:34
Тема : Фидодевелопмент - давайте обсуждать тут, а не по .pr и .nextgen
FGHI : area://RU.FTN.DEVELOP?msgid=2:5015/46+61d8bdc9
На   : area://RU.FTN.DEVELOP?msgid=2:5020/545+61d7ef72
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.FTN.DEVELOP?msgid=2:5053/58+61d90031
Ответ: area://RU.FTN.DEVELOP?msgid=2:5020/545+61da7e32
==============================================================================
Hello, Alexey!

Friday January 07 2022 10:44, from Alexey Vissarionov -> Nil A:

NA>> Или вот binkd, например. Не знаю, были ли уже в то время
NA>> библиотеки libevent, libev, libuv (это уже новее),
AV> Может, тебе еще и epoll() во всякие смешные системы портировать? :-)

Подобная библиотека как раз и создана решать задачу трансляции высокоуровневых асинхронных вызовов во что-то доступно в ОС, например, старый добрый select(2), с его ограничениями, разумеется.
Как пример, Libuv вообще делает асинхронными дисковые операции, которые на epoll() не повесишь, и всё это эмулируется через пул-воркертредов.

NA>> но куча кода для кросс-платформенной работы с сокетами могла бы
NA>> уйти.
AV> Куда и зачем?

Вместо того, чтобы пытаться поддержать разные асинхронные сокеты на разных ОС, в виде развесистых #ifdef, можно сфокусировать своё внимание, непосредственно,  на имплементации binkp протокола, причём, используя высокоуровневые scatter-gather IO.

NA>> Ещё там какие-то предупреждения по поводу тредов, надо
NA>> пользоваться форками,
AV> Треды совершенно точно фпень, а с момента появления epoll() - напомню,
AV> это произошло в ядре 2.6 и glibc 2.3 где-то в 2004 году - и форкаться
AV> нужды нет.

(a) на сегодняшний день epoll() не используется в коде binkp
(б) epoll() реализован только в Linux, а хочется запускать там, где это делается через kqueue(), или через Windows IOCP, и т.д.

NA>> Можно, например, научить binkd читать fidoconfig, ведь там линки
NA>> с паролями уже есть, только добавить секцию бинк-специфичных
NA>> опций.
AV> Каких?

Все настройки из binkd.conf не относящиеся к линкам, и не дублирующиеся в fidoconfig - их можно поместить как if "[module]"=="bink"

NA>> А так что ещё допиливать? Добавить по-взрослому рейт-лимиты,
NA>> чтобы противостоять натиску DDoS?
AV> Нахрена это userspace-приложению?

Тут скорее не приложение, а демон. При ограниченности ресурсов, можно сфокусироваться на обслуживании легитимных клиентов, и меньше ресурсов тратить на ботов.
Да, юзерспейс приложение также может добавлять правила для ядерного фильтра, чтобы зловред трафик отшибать сразу там, но все решения принимаются в самом юзерспейс-демоне.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: Linux 2.6.32-042stab145.3 (2:5015/46)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.157011 секунды