metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-11-19 06:06 pm

Везет как QA

Либа nanomsg, кто-то тут в комментариях мне ее посоветовал.
http://comments.gmane.org/gmane.comp.lib.nanomsg/1277
Убил целый день, только ради того, чтобы тесты запустились и сфейлились корректно на машине, на которой рабочий порт этой либы занят чем-то, например другим инстансом проги.

Эти программисты нетрадиционной ориентации зовут на каждый мыслимый и немыслимый чих abort(), вместо того чтобы вернуть код ошибки, а этот abort() на винде вызывает диалоговое окно вида "всему копец, продолжаем, отлаживаем или игнорируем". В консольных приложениях из автотестов, да. Причем cmake ctest на винде игнорирует stderr, соответственно, чтобы найти причину ошибки - мне пришлось сначала перекопать это угребище windbg, а затем добавить OutputDebugString в виндовый билд.

Если у меня от занятости сокетов или там от того, что черви сгрызли сетевой стек, прога будет ебаться с abort() - идите вы нахер с такими либами.

[identity profile] maxdz.livejournal.com 2014-11-19 11:22 pm (UTC)(link)
А нафига такие мучения с какими-то левыми библиотеками? Незамысловатые сокетные сервер и клиент (сервер многотредовый, с отдельным тредом на каждое входящее соединение) - пишутся ручками, за пару часов "с нуля"...
Edited 2014-11-19 23:25 (UTC)

[identity profile] berezovsky.livejournal.com 2014-11-20 04:08 am (UTC)(link)
Незамысловатая бессбойная очередь. За пару часов. С нуля.

[identity profile] ext_1684112 (from livejournal.com) 2014-11-20 02:27 pm (UTC)(link)
А если еще в очереди есть хранилище. Приоритеты. TTL и максимальное количество попыток передоставки, а также устаревание сообщений.

У этого человека еще было замечательное шифрование xor'ом.
Edited 2014-11-20 14:29 (UTC)

[identity profile] maxdz.livejournal.com 2014-11-20 05:31 pm (UTC)(link)
Ксор отлично действует, кстати - быстро и достаточно "нечитаемо". Так что, прикинул, посносил всякие крипто-навороты и сделал-таки всё на ксорах. :)