gentoo.ru
Официальная конференция Direct Connect клиента EiskaltDC++
eiskaltdc@conference.gentoo.ru
Вторник, 4 июня 2013< ^ >
Tehnick установил(а) тему: Конференция разработчиков EiskaltDC++ | Conference of EiskaltDC++ developers
Site: https://code.google.com/p/eiskaltdc/
Logs: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2013/
Bug tracker: https://code.google.com/p/eiskaltdc/issues/list
Notes for developers: https://code.google.com/p/eiskaltdc/wiki/notes_for_developers
How To Ask Questions The Smart Way: http://catb.org/%7Eesr/faqs/smart-questions.html
Как правильно задавать вопросы: http://parallel.ru/cluster/smart-questions-ru.html
Last stable release: 2.2.7 (2012-05-29)
Release schedule:
* 2013-05-xx Release EiskaltDC++ 2.2.8
Конфигурация комнаты
Участники комнаты

GMT+4
[00:01:18] dhamp вошёл(а) в комнату
[00:36:47] Diger вышел(а) из комнаты
[00:39:09] dhamp вышел(а) из комнаты: Replaced by new connection
[00:39:19] dhamp вошёл(а) в комнату
[00:45:57] Diger вошёл(а) в комнату
[00:46:07] Diger вышел(а) из комнаты
[02:37:38] dhamp вышел(а) из комнаты
[03:02:30] dhamp вошёл(а) в комнату
[06:01:34] Alexey вошёл(а) в комнату
[06:18:05] Diger вошёл(а) в комнату
[07:59:42] Diger вошёл(а) в комнату
[09:50:32] mars1an вошёл(а) в комнату
[09:53:47] dhamp вышел(а) из комнаты
[10:01:51] ONYX вышел(а) из комнаты
[10:13:30] ONYX вошёл(а) в комнату
[10:46:46] Diger вышел(а) из комнаты
[12:15:23] Diger вышел(а) из комнаты
[12:33:32] Diger вошёл(а) в комнату
[13:23:07] ONYX вышел(а) из комнаты
[13:23:17] ONYX вошёл(а) в комнату
[13:47:02] gelraen вышел(а) из комнаты
[13:55:22] dhamp вошёл(а) в комнату
[14:22:22] dhamp вышел(а) из комнаты
[15:05:14] Diger вышел(а) из комнаты
[16:19:43] soulhunter вошёл(а) в комнату
[16:23:19] <soulhunter> добрый день, есть кто из разработчиков?
[16:33:17] Tehnick вошёл(а) в комнату
[16:33:30] <Tehnick> soulhunter: вечером будут.
[16:34:04] <Tehnick> Но можно задать вопрос сразу, т.к. ведутся логи конференции.
[16:34:10] Tehnick вышел(а) из комнаты
[17:05:06] ONYX вышел(а) из комнаты
[17:52:46] dhamp вошёл(а) в комнату
[17:56:51] <soulhunter> Евгений, добрый день
[17:59:24] <soulhunter> я сегодня отправлял вам письмо по нашему давнешнему обсуждению, и помимо этого там описал новый баг в демоне, посмотрите, пожалуйста
[18:16:46] dhamp вышел(а) из комнаты
[18:25:45] mars1an вышел(а) из комнаты
[18:35:27] dhamp вошёл(а) в комнату
[18:46:56] Кирилл вошёл(а) в комнату
[19:03:41] soulhunter вышел(а) из комнаты
[19:48:34] Kroll вышел(а) из комнаты
[20:01:27] Diger вошёл(а) в комнату
[20:07:38] Tehnick вошёл(а) в комнату
[20:33:08] dhamp вышел(а) из комнаты
[20:46:30] soulhunter вошёл(а) в комнату
[20:47:12] <soulhunter> Борис вы тут?
[20:50:54] ONYX вошёл(а) в комнату
[20:58:41] <Tehnick> soulhunter, да.
[20:59:23] <Tehnick> soulhunter, обращаться лучше по нику: джаббер-клиент на него реагирует.
[20:59:52] <soulhunter> я там пул реквест сделал на гитхабе
[21:00:11] <soulhunter> и сейчас зашел - увидел как раз вашу дискуссию по поводу поисковых интервалов
[21:01:05] <soulhunter> посмотрите что я там описал, это изменения общей логики их поведения, а добавление индикатора будет 100% завершением решения этой проблемы
[21:02:15] <Tehnick> soulhunter, пул-реквест видел. Но на счет изменения поисковых интервалов сильно сомневаюсь.
[21:02:48] <soulhunter> насчет изменения каких именно? то что 60 сек?
[21:02:58] <Tehnick> soulhunter, большинство крупных хабов, на которые я заходил имеют ограничение в 45 секунд.
[21:03:37] <Tehnick> soulhunter, слишком частый автопоиск по дефолту делать нельзя: пользователей будут банить.
[21:04:17] <soulhunter> Tehnick согласен, это точно не нужно
[21:04:30] <Tehnick> soulhunter, делать автопоиск меньше 10 секунд --- тоже ни к чему хорошему не приведет.
[21:04:49] <Tehnick> На код флайлинка я давно не смотрел.
[21:04:53] <soulhunter> тем не менее большинство клиентов поставили мин интервал в 2 секунды, а дефолтный в 10
[21:05:14] <Tehnick> Его разработчик сюда иногда заходит. Можно было бы его спросить напрямую.
[21:05:17] <soulhunter> ну это не важно в общем, конечно надо своей головой думать
[21:05:46] <Tehnick> Большинство?
[21:05:48] <soulhunter> у меня там основное изменение в том, чтобы все-таки МОЖНО было поставить интервал любой, если это нужно
[21:06:33] <soulhunter> почитайте там ограничения описаны, можно дефолтный интервал например сделать не 10, а 45 как вы сказали
[21:06:41] <Tehnick> Уменьшить минимально ограничение до 2 или 5 секунд можно безболезненно, я полагаю.
[21:07:52] <soulhunter> но при этом если нужно будет его сделать 1,2,3 секунды или вообще отключить - это можно сделать используя конфиг файл, который обычный пользователь врят ли будет редактировать, это больше для администраторов функция
[21:08:15] <Tehnick> soulhunter, отключить можно и сейчас: просто поставить 0
[21:08:20] <soulhunter> неа
[21:08:32] <soulhunter> там стоит в конце max(interval, 10)
[21:08:37] <soulhunter> так что 10 захардкодено
[21:08:48] <soulhunter> сейчас
[21:09:43] <Tehnick> soulhunter, https://github.com/eiskaltdcpp/eiskaltdcpp/blob/master/dcpp/Client.cpp#L254
[21:10:14] <Tehnick> soulhunter, если searchQueue.interval == 0, то код отложенного поиска не выполняется.
[21:10:50] <soulhunter> да, но посмотрите сюда: https://github.com/eiskaltdcpp/eiskaltdcpp/blob/master/dcpp/Client.h#L124
[21:11:11] <soulhunter> это именно та часть кода, которую я изменил
[21:11:30] <soulhunter> сейчас searchQueue.interval никогда не может быть равно 0
[21:12:14] <Tehnick> soulhunter, хм, надо проверить.
[21:12:53] Alexey вышел(а) из комнаты
[21:14:56] <Tehnick> dhamp, пинг
[21:15:35] <soulhunter> это он должен увидеть где-то и зайдет сюда?)
[21:15:59] <soulhunter> я просто джаббером первый раз в жизни пользуюсь, раньше как-то не приходилось
[21:20:21] <soulhunter> у интервала поиска есть два аспекта: 1. дефолтное значение в Settings.xml, которое можно поменять только ручками, через GUI нельзя. Это значение должно быть выставлено согласно значению большинства хабов - это безусловно, но оно можеты быть большим только если есть индикатор времени до отправки запроса, иначе бан на хабе для пользователя будет детским лепетом по сравнению с нервами на "почему у меня все тупит", всякие там автопоиски его не волнуют, ему важно что он делает запрос - а ответа не получает
[21:21:37] <Tehnick> soulhunter, это очевидно, да. Поэтому индикатор и планируется.
[21:21:40] <soulhunter> поэтому если есть индикатор - то 45 секунд - вполне адекватное время
[21:21:59] <soulhunter> дальше есть 2 аспект - указание интервала для избранных хабов
[21:22:19] <Tehnick> soulhunter, просто убрать ограничение в 10 секунд в том месте не получится. Надо еще посмотреть на AUTO_SEARCH, AUTO_SEARCH_TIME и т.п.
[21:23:32] <soulhunter> получится, я изучил всю цепочку, автопоиск работает на том же интервале, щас я расскажу, подождите, пишу еще больошое сообщение )
[21:25:53] <soulhunter> в избранных хабах дефолтное значение - из Settings.xml, а дальше пользователь должен иметь возможность поставить в принципе любой интервал, потому что хаб может и не ставить ограничения для каки-то зарегеных пользователей, или где-то оно может быть очень маленькое, тут должна быть свобода, как говорится, поставил 0 - сам напросился на бан, если хаб так делает ) в следующий раз поставит то что надо, тут уже все прозрачно, никаких неожиданностей
[21:26:32] <soulhunter> мне например надо ставить 0, у меня работает демон и система, которая им управляет сама интервалы отслеживает, а на хабах для моего акка они вообще отключены
[21:27:58] <soulhunter> а сейчас если он ставит < 10 - ему бабах 60 без всяких предупреждений, а в настройках-то его значение сохраняется, он соответственно в шоке опять же
[21:28:06] <soulhunter> * хабах
[21:28:56] <soulhunter> я там правда сделал тоже проверки, но я не рассчитывал на индикатор, поэтому сделал дефолт в 10, ну могу щас переделать под рассчет индикатора
[21:29:47] <soulhunter> а автопоиск ставится в ту же очередь что и обычный, только пушится в конец очереди, после ручных поисков, поэтому он ограничивается той же функцией что я присылал ссылку
[21:30:12] <Tehnick> soulhunter, про единую очередь я помню.
[21:30:20] <soulhunter> очередь поиска одна и интервал отправки запросов устанавливается всего в 1 месте
[21:30:46] <soulhunter> другое дело что у авто поиска есть еще свой интервал - но это интервал с которым запросы добавляются в очередь, а не отправляются
[21:31:10] <Tehnick> Ага, вспомнил.
[21:32:27] <Tehnick> soulhunter, а зачем было убирать умножение на 1000? Там время в миллисекундах...
[21:32:36] <soulhunter> я его перенес в одно место просто
[21:32:40] <soulhunter> в саму ф-ию
[21:32:49] <soulhunter> зачем дублировать?
[21:33:52] <Tehnick> Ясно, теперь вижу.
[21:34:48] <soulhunter> там в функции логика такая: если значение =0, то и устанавливается 0, если если >0 - то прибавляется +1, на временную погрешность
[21:37:03] <soulhunter> там у меня проверяется еще если interval < SETTING(MIN_SEARCH_INTERVAL), то устанавливается в дефолтное, но если ставить дефолтное в 45 и сделать индикатор - этого делать не нужно, нужно тупо сделать setSearchInterval(interval) как есть, потому что 45 многовато для пользовательского ограничения все-таки
[21:37:31] <soulhunter> знаю несколько хабов, из самых больших в Росии, где ограничение меньше, 20-30сек
[21:38:01] <Tehnick> soulhunter, например?
[21:38:15] <soulhunter> щас
[21:45:08] <soulhunter> MariaDB [search]> select address, dc_search_interval from servers where type = 'dc' and online = '1';
+----------------------+--------------------+
| address              | dc_search_interval |
+----------------------+--------------------+
| allavtovo.zet        |                 60 |
| unionbest.zet        |                 12 |
| dc.zet               |                  2 |
| ent.zet              |                 20 |
| storm.interzet.ru    |                 45 |
| udo.zet              |               NULL |
| dvs.zet              |               NULL |
| rutrack.zet          |                 12 |
| fishing.zet          |                  0 |
| artcool.zet          |                  1 |
| fanat.zet            |               NULL |
| green.zet            |                 30 |
| noproblem.zet        |                 60 |
| promusic.interzet.ru |                 12 |
| piter-hub.zet        |               NULL |
| avalon-server.zet    |               NULL |
+----------------------+--------------------+
[21:46:14] <soulhunter> это хабы Интерзета, не все из них доступны на интернет, но promusic.interzet.ru - это Rutrack, storm.interzet.ru - это Superstorm, одни из самых крупных в россии
[21:46:30] <soulhunter> ent.zet - внутренний, но тоже за 10к онлайн
[21:46:44] <soulhunter> нельзя же этих пользователей оставлять без возможности натсройки
[21:47:03] <Tehnick> Я обычно ориентируюсь на сервера из списка публичных хабов.
[21:47:08] <Tehnick> Озерки и т.п.
[21:47:42] <soulhunter> ну пользователи то не только ими пользуются ) могу сказать сколько десятков тысяч на этих хабах, наверняка кто-то пользуется Айскальтом
[21:47:57] <Tehnick> Единицы.
[21:48:38] <soulhunter> не ну мы уже не о том спорим ) может и единицы, но зачем тогда все это пишется, ведь чтобы пользовались больше
[21:50:17] <soulhunter> у меня просто есть данные по хабам в сетях локальных, а публичные - это просто некоторые из них, доступные на интернет, но далеко не все
[21:50:36] <soulhunter> скоро будут данные и по другим крупным сетям
[21:51:37] <soulhunter> Rutrack, например, 3 место в публичном хаблисте, интервал 12 сек
[21:52:18] <soulhunter> AllAvtovo тоже зетовский хаб, но там да, 60 сек
[21:53:22] <Tehnick> Ладно.
[21:53:56] <soulhunter> ну в общем вы согласны, что должна быть возможность отключить вообще интервал? есть такие случаи. И установить его меньше 45 сек для отдельных хабов?
[21:54:55] <Tehnick> Дефолтный интервал оставим 60с.
[21:55:15] <Tehnick> Остальные изменения из коммита можно взять.
[21:56:14] <Tehnick> Вот только я не понял смысл проверки: if(hub->getSearchInterval() < 10)
[21:56:39] <Tehnick> Т.к. функция возвращает время в миллисекундах.
[21:57:06] <soulhunter> нет, там в секундах
[21:58:59] <soulhunter> но эта проверка была изначально, затем я ее изменил на f(hub->getSearchInterval() < SETTING(MINIMUM_SEARCH_INTERVAL)) но это было сделано без мыслей об индикаторе и при условии что будет уменьшен дефолтный интервал, а раз он остается как был и будет индикатор - надо сделать просто setSearchInterval(hub->getSearchInterval()); без всяких условий
[22:03:48] <Tehnick> [21:00:41] <soulhunter> нет, там в секундах
Почему в секундах? Я вижу:
    void setSearchInterval(uint32_t aInterval) {
        searchQueue.interval = (aInterval + min(aInterval, (uint32_t)1)) * (uint32_t)1000;
    }
    uint32_t getSearchInterval() const {
        return searchQueue.interval;
    }
[22:05:26] <soulhunter> да но это функция другого объекта
[22:05:38] <Tehnick> Черт. =)
[22:07:36] <soulhunter> щас я сделаю коммит, который можно будет принять как есть, с учетом наших согласованных поправок
[22:10:22] <Tehnick> soulhunter, да я уже имеющийся коммит правлю.
[22:10:42] <soulhunter> все сделал
[22:11:19] <soulhunter> #24ea80e <https://github.com/soulhunter1987/eiskaltdcpp/commit/24ea80ee5b2317ceabadab567f219b72a1a32949> и #58e06c2 <https://github.com/soulhunter1987/eiskaltdcpp/commit/58e06c2baca535a09af3d924888c3ec37377d19f>
[22:12:23] <Tehnick> soulhunter, и все-таки, я не вижу, откуда он hub->getSearchInterval() брал.
[22:14:49] nixtrian|home вышел(а) из комнаты
[22:17:27] <soulhunter> HubEntry.h
[22:17:38] nixtrian|home вошёл(а) в комнату
[22:18:06] <soulhunter> там нету этой ф-ии в явном виде, но есть такое св-во
[22:18:26] <Tehnick> Да, теперь вижу.
[22:20:29] <soulhunter> там он подтягивает тупо значения из Favorites.xml как есть
[22:22:10] <Tehnick> soulhunter, теперь по-поводу демона
[22:22:43] <Tehnick> soulhunter, в чем смысл замены на toString?
[22:25:41] <soulhunter> чтобы он не форматировал байты
[22:26:30] <soulhunter> там раньше форматировалось в виде: 12345 байт выводились как "12 345 B", это не нужно во внутреннем api
[22:26:45] <soulhunter> форматировать значения должен интерфейс, а не управляющее апи
[22:27:12] <soulhunter> я получаю это число и мне опять надо его парсить регуляркой чтобы получить int
[22:27:37] <soulhunter> а toString - не знаю, у Евгения там просто все числовые значения в строки переводятся, наверное там так где-то надо
[22:28:51] <soulhunter> ну строку скастить в инт не проблема, тем более что там я работаю на PHP, там динамическая типизация
[22:29:26] <Tehnick> soulhunter, дело в том, что наш cli сейчас выводит это поле как текст:
print("Total share:\t\t".$_->{totalshare}."\n");
[22:29:36] <Tehnick> Его тоже надо поправить будет.
[22:30:33] <Tehnick> soulhunter, eiskaltdcpp-cli/cli-jsonrpc.pl
[22:30:39] <soulhunter> ну значит надо, а может быть можно и не править, посколько этот cli - тоже в общем-то чисто административный интерфейс, а не пользовательский, там админ сам легко в уме отформатирует если надо будет ) но по уму - да, надо поправить
[22:31:25] <soulhunter> я просто в перле вообще ни муму )
[22:31:48] <Tehnick> ONYX, пинг
[22:31:56] <ONYX> пппппонг
[22:32:03] <ONYX> читаю
[22:32:45] <Tehnick> ONYX, сейчас будет изменение в демоне:
-        sm["totalshare"] = Util::formatBytes(cl->getAvailable());
+        sm["totalshare"] = Util::toString(cl->getAvailable());
[22:33:04] <Tehnick> Для cli это не принципиально.
[22:33:12] <Tehnick> ONYX, просто возьми на заметку.
[22:33:13] <ONYX> ну и чудно, я за
[22:33:20] <ONYX> а что изменится?
[22:33:31] <ONYX> было->стало
[22:35:45] <Tehnick> ONYX,
была: текстовая строка "12 345 B"
стало: текстовая строка "12345"
[22:36:02] <ONYX> ну и ладно, учтем
[22:36:23] <Tehnick> Т.е. просто размер в байтах. Без приведения в человеко-читабельный вид.
[22:41:14] <soulhunter> ONYX , ты по демону?
[22:41:22] <soulhunter> есть баг жесткий:
[22:41:35] <soulhunter> при выключении Received signal SIGINT ending...
*** buffer overflow detected ***: eiskaltdcpp-daemon - terminated
eiskaltdcpp-daemon: buffer overflow attack in function <unknown> - terminated
Report to http://bugs.gentoo.org/
Killed
[22:42:03] <Tehnick> soulhunter, нет, он по cli.
[22:42:05] <soulhunter> можешь посмотреть? это где-то в самом начале выключения, еще до STOP Mongoose
[22:42:09] <soulhunter> а, понял
[22:42:14] <Tehnick> soulhunter, по демону --- dhamp
[22:42:21] <soulhunter> это я знаю
[22:42:31] <soulhunter> я с ним уже по почте целые книги написал
[22:42:57] <soulhunter> много правок сделали в демоне, это кстати я писал вам, Борис, три месяца назад
[22:43:09] <soulhunter> с вопросом остановлено ли развитие клиента
[22:43:19] <Tehnick> soulhunter, я догадался
[22:43:42] <soulhunter> потом я написал Евгению и после его первого комита как-то дело зашевелилось
[22:44:41] <Tehnick> Надо журнал изменений заполнить, индикатор в виджете поиска добавить и сделать релиз.
[22:44:47] <Tehnick> Уже больше года прошло...
[22:44:48] <soulhunter> хорошо бы уже сделать релиз, чтобы люди видели что дело живо, пользователи вернутся
[22:44:50] <soulhunter> ))
[22:45:05] <Tehnick> Пользователи никуда и не уходили.
[22:46:22] <soulhunter> у меня еще проблемка одна есть, которую я пока не решил, мне не удается скачать файлы/файл-листы с Айскальта на айскальт
[22:47:17] <soulhunter> у меня стоит клиент (демон) на линуксе , он работает, с других юзеров качает исправно. И на доманшем компе, на маке. Все вроде хорошо, но "сам с себя" ничего не могу скачать
[22:47:41] <soulhunter> оба в активном режиме, с другими юзерами работает нормально
[22:47:53] <soulhunter> может знаете такую проблему?
[22:48:11] <Tehnick> Нет, не сталкивался.
[22:48:23] <soulhunter> ну ладно, буду изучать вопрос
[22:48:47] <Tehnick> У меня есть доступ к нескольким компам, но все через инет связаны.
[22:51:16] <soulhunter> так то я уже всю цепочку работы клиента почти изучил, у меня там стоит демон и он должен управляться другой программой, которая ставит ему задачи на закачку и забирает потом файлы скаченные, я написал хаб самописный, он логирует все команды полученные, соединения и т.д, таким образом проверяю работу клиента ) мне обязательно нужно чтобы все работало как часы, задержки, таймауты и т.д, таким образом я и вышел на баг который был с дублированием поисковых запросов, потом увидел что такой же есть в багтрекере уже
[22:51:31] <soulhunter> буду изучать значит и эту проблему так же
[22:52:28] <Tehnick> Хорошо. Спасибо за вклад в проект.
[22:52:41] <Tehnick> soulhunter, еще вопросы на сегодня есть?
[22:53:20] <soulhunter> и очень важный вопрос с утечкой памяти, чтобы все чистилось правильно, проверяю код чтобы при очистке очереди и т.д все подчищалось, нашел одну такую проблему, опишу ее чуть позже, может сделаю комит тоже
[22:53:54] <soulhunter> да в общем-то к вам пока нет, спасибо за ответы
[22:54:01] <Tehnick> soulhunter, используете vargrind?
[22:54:18] <soulhunter> это что такое?
[22:54:41] <Tehnick> soulhunter, https://ru.wikipedia.org/wiki/Valgrind
[22:55:26] <soulhunter> ну valgrind я знаю, вы там опечатались, поэтому я подумал другое имеется ввиду
[22:55:54] <Tehnick> Сорри, не внимателен сейчас.
[22:56:19] <soulhunter> но не использую, я вообще PHP разработчик, C++ тока начинаю изучать, даже правки пока делаю в PHP IDE, так быстрее и привычнее
[22:56:31] <soulhunter> так что код чисто визуально логически анализирую, без инструментов
[22:57:43] dhamp вошёл(а) в комнату
[22:57:47] <soulhunter> так то тоже самое что пых, только больше структур данных, управляющих конструкций, поразнобразнее синтаксис немного
[22:58:09] <soulhunter> наверное звучит дико с вашей точки зрения, но работы много, изучать спец инструменты пока нету времени
[22:58:39] <Tehnick> soulhunter, главное с указателями и ссылками разобраться. Если я правильно помню, в php их нет.
[22:59:06] <soulhunter> ссылки есть, только работают по-другому малеха
[22:59:51] <dhamp> Tehnick: ?
[23:00:15] <soulhunter> я сейчас неделю буду тут, пока буду над этой задачей заниматься, опишу все оставшиеся известные мне проблемы, постараюсь помочь исправить
[23:00:18] <dhamp> многа букаф в логе не охота чейчас читать
[23:00:22] <dhamp> сейчас*
[23:00:26] <Tehnick> dhamp, коммиты в 2.2.x уже видел? Возражений нет?
[23:00:46] <soulhunter> Евгений? видели письмо по демону? про логи и баз с выходом
[23:01:08] <soulhunter> * баг
[23:01:48] <dhamp> soulhunter: баг с выходом по том учто есть точно не пофиксить, потому что у меня его нет, под valgrind тоже ничего интересного не видно
[23:02:50] <dhamp> Tehnick: у меня возражений нет
[23:02:59] <soulhunter> как больше данных извлечь? запустить под dbg?
[23:03:00] <Tehnick> Хорошо.
[23:03:39] <Tehnick> soulhunter, https://code.google.com/p/eiskaltdc/wiki/issue_hints_ru
[23:03:55] <soulhunter> понял, завтра попробую
[23:04:27] <dhamp> soulhunter:
по поводу логгирования,
для *nix:
-d не задано:
всё(ну или почти всё) в stdout
-d задано:
1) -s (--syslog) задано пишем логи через syslog
2) -s (--syslog) не задано логи в файл PATH_USER_CONFIG/Logs/daemon.log
если PATH_USER_CONFIG не существует и мы не имеем прав что бы создать его лога не будет вообще
для винды:
пишем логи в файл PATH_USER_CONFIG/Logs/daemon.log
[23:05:02] <Tehnick> > -d не задано:
> всё(ну или почти всё) в stdout
wtf?
[23:05:31] <Tehnick> Демон и stdout?
[23:05:35] <dhamp> Tehnick: это про демона
[23:05:40] <dhamp> да
[23:06:17] <Tehnick> Демоны же не должны в него ничего писать.
[23:07:06] <dhamp> Tehnick: -d уводит демона в фон
[23:07:09] <soulhunter> -d не задано - работает в режиме консоли, -d задано - в режиме демона
[23:07:29] <Tehnick> А, я неправильно распарсил.
[23:07:32] <Tehnick> Все нормально.
[23:08:30] <Tehnick> Мне пора.
[23:08:33] <Tehnick> Всем пока.
[23:08:38] Tehnick вышел(а) из комнаты
[23:08:39] <soulhunter> пока
[23:08:53] <soulhunter> dhamp, PATH_USER_CONFIG - это переменная среды?
[23:09:29] <soulhunter> а стоп
[23:09:48] <dhamp> нет, эта переменная указывается где ядро dcpp будет искать свою конфигурацию
[23:10:40] <soulhunter> это добавлено недавно или так было всегда?
[23:10:51] <soulhunter> что-то с месяц назад я такого не видел
[23:10:54] <soulhunter> щас поищу
[23:11:13] <dhamp> это переменная в ядре программы и сощуствовала она всегда
[23:11:48] <dhamp> опция -с её задаёт, если нужно забитый значения по умолчанию
[23:11:50] <soulhunter> я не про переменную, а про daemon.log файл, я его не видел
[23:12:26] <soulhunter> а директория Logs создастся автоматом если ее нету по этому пути?
[23:12:30] <soulhunter> просто у меня нету ее
[23:12:40] <soulhunter> хотя я запускал в режиме демона без сислога
[23:13:13] <soulhunter> но там где настройки лежат она не появлялась точно, следовательно и файл daemon.log тоже
[23:14:19] <dhamp> soulhunter: значит у тебя логи ядра отключены, эту диру создаёт ядро, в демоне создаётся только файл. соотв. без диры нет и файла.
[23:14:47] <dhamp> можно конечно сделать чтобы демон мог создать его в любом случае если у него на это есть права
[23:16:14] <soulhunter> так, нашел
[23:16:16] <soulhunter> вот она <LogDirectory type="string">/var/log/eiskaltdc++/</LogDirectory>
[23:16:26] <soulhunter> включено
[23:17:05] <soulhunter> а, помню
[23:17:09] <soulhunter> был такой файл кажется, да
[23:17:28] <soulhunter> но в нем писалось только что старт и стоп
[23:17:34] <soulhunter> по одной строке и больше ничего
[23:17:47] <soulhunter> щас проверю еще раз
[23:18:00] <dhamp> я только не давно коммит сделал он ещё в 2.2.x бранче
[23:18:39] <soulhunter> то есть теперь пишется все? в т.д дебаг, если он включен?
[23:20:06] <dhamp> не дебаг пишется только в stdout
[23:21:13] <dhamp> soulhunter: нафига ещё и то что по isDebug писать в лог ?
[23:21:25] <dhamp> может тогда ещё и isVerbose писать
[23:21:28] <dhamp> в syslog
[23:21:30] <dhamp> =)
[23:22:40] <soulhunter> ну режим отладки-то нужен, вручную запускать постоянно геморройно, у меня клиент запускается другой программой в режиме демона и управляется через jsonrpc, так что отладку было бы хорошо видеть в логе в момент разработки, и verbose тоже :)
[23:22:58] <soulhunter> в сислог ничего не пишу, в файлы тока
[23:24:16] <soulhunter> так весь софт работает серьезный по-моему, все дублируется в логах
[23:24:56] <dhamp> soulhunter: eiskaltdcpp-daemon -vD > debug_file.log чем не устраивает ?
[23:25:27] <soulhunter> можно, но там разве в режиме демона не в /dev/null отправляется? по-моему я такое видел в коде
[23:25:58] <dhamp> eiskaltdcpp-daemon -vD > debug_file.log & и всё к консоли он не привязан
[23:26:14] <dhamp> soulhunter: -d всё же несоклько для другого )
[23:26:17] <soulhunter> fopen(STDOUT, /dev/null) там по-моему в режиме демона
[23:26:22] <dhamp> несколько*
[23:26:56] <soulhunter> ну я коряво написал, но смысл понят думаю )
[23:27:05] <soulhunter> а для чего -d?
[23:28:18] <soulhunter> ну в общем-то да, обойти можно конечно, не используя -d, перенапрявляя вывод и отцепляясь вручную от консоли, но это как-то странно по-моему
[23:28:40] <soulhunter> -d, в моем понимании, для этого и есть, чтобы все это автоматом делалось
[23:30:08] <dhamp> soulhunter: что мешает автоматом запускать как нужно на текущий момент
[23:30:15] <soulhunter> ну ладно, это не криминал, раз вы считаете что так правильнее - значит пусть так и будет, главное что реализовать можно, остальное вопрос индивидуального подхода
[23:31:33] <soulhunter> кстати еще хотел спросить почему в jsonrpc не используются тексты ошибок, только 0/1 как удачно/неудачно
[23:31:34] <soulhunter> ?
[23:32:03] <soulhunter> а текста описывающего ошибку в случае ответа "1" нигде нету, хотя передача текста ошибок предусмотрена в протоколе
[23:32:26] <soulhunter> например текст ексепшена, если он там внутри бросается и т.д
[23:33:46] <dhamp> soulhunter: 1 - epic fail - усё =) большинство функция возвращают bool
[23:34:20] <dhamp> soulhunter: и некоторых бросается текст исключения
[23:34:24] <dhamp> из*
[23:36:04] <dhamp> soulhunter: протокол взаимодействия не заморожен и может вообще измениться как угодно. предложения по изменению принимаются
[23:36:53] <soulhunter> вообще на ваш взгляд чем лучше пользоваться для наибольшей производительности? json или xml апи?
[23:37:00] <soulhunter> они вообще щас идентично работают?
[23:37:48] <soulhunter> парсинг json быстрее, но там есть не понимаю зачем http сервер, который обрабатывает, почему было не сделать просто голый сокет не очень понимаю
[23:37:58] <dhamp> soulhunter: я сравнениями по скорости не занимался.
[23:38:05] <dhamp> soulhunter: был голый слкет
[23:38:07] <dhamp> сокет*
[23:38:29] <dhamp> soulhunter: по просьбе ONYX были добавлены http хидеры
[23:38:57] <soulhunter> а зачем он обосновывал?
[23:39:30] <ONYX> надо было запихивать в http потому что это широкая практика, плюс аутентификация и ssl
[23:39:39] <dhamp> soulhunter: у него спроси =) мне по сути фиолетово в сокет кидать или через http сервер
[23:40:31] <soulhunter> ясно
[23:43:10] <soulhunter> ну ладно, я пойду, завтра попробую отдебажить этот stack overflow, тока сначала может быть из 2.2.x пересоберу, может там и нету его уже, в мастере как я понимаю не все пока изменения
[23:43:39] Tehnick вошёл(а) в комнату
[23:43:47] <Tehnick> soulhunter, все уже в мастере.
[23:44:06] <Tehnick> А завтра еще и свежие пакеты будут.
[23:45:32] <soulhunter> тогда щас быстренько проверю
[23:46:27] <Tehnick> soulhunter, спешить в общем-то некуда...
[23:48:13] <soulhunter> dhamp, вот этот ворнинг при сборке исправите? "/opt/development/eiskaltdcpp/json/jsonrpc-cpp/jsonrpc_httpserver.cpp: In member function 'bool Json::Rpc::HTTPServer::sendResponse(std::string&, void*)':
/opt/development/eiskaltdcpp/json/jsonrpc-cpp/jsonrpc_httpserver.cpp:127:53: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'std::basic_string<char>::size_type {aka long unsigned int}' [-Wformat]
"
[23:50:06] <soulhunter> неа, все равно "*** buffer overflow detected ***: eiskaltdcpp-daemon - terminated", тогда до завтра с этим вопросом
[23:51:06] <soulhunter> еще вот щас заметил: запустил просто "eiskaltdcpp-daemon -v", он мне дал что нету таких директорий конфига и данных, но я их и не передавал )
[23:51:38] <soulhunter> надо наверное их проверять только если они вообще переданы, иначе сразу откатываться на дефолтные
[23:55:22] <dhamp> soulhunter: не всё в коммит ещё ушло
[23:59:17] Tehnick вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!