~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN_
Guest7184
Komap-
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
onon
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
weko
whothefuckami
R4SAS
orignal: проверь у weko PR: github.com/PurpleI2P/i2pd/pull/1928
R4SAS
const std::string GetRemoteDestination() { return ""; } --- сомнительное
weko
А,там дело в том что слишком длинная строка выходит
weko
R4SAS: сказали тау сделать)
R4SAS
ну, то что строка длинная - да
R4SAS
это надо и в CSS тогда лазить
orignal
const std::string GetRemoteDestination() { return m_Destination; }
orignal
int GetRemoteDestinationPort() { return m_DestinationPort; }
orignal
а почему не const?
R4SAS
я бы лучше делал отображение на странице самого деста
R4SAS
а не там
orignal
вот да
orignal
мне некогда
R4SAS
weko: тогда лушче точно не так проверять
R4SAS
it.second->GetRemoteDestination() != ""
R4SAS
раз ты знаешь что у тебя std::string, то делай его функциями
weko
Я щас не помню что там
weko
Как функцией проверить?
Vort
код укорачивания кстати где-то в коде i2pd уже есть
R4SAS
it.second->GetRemoteDestination().empty ()
Vort
адреса стримов с троеточиями отображаются
Vort
можно оттуда стащить логику
R4SAS
там фактически полностью укорачивается не зависимо от того чего там
R4SAS
это не очень удобно когда тебе надо каким либо образом получить b32
Vort
что значит "полностью"?
Vort
hodhusp73glt….b32.i2p
Vort
с полным адресом в подсказке
Vort
разве не именно это нужно?
R4SAS
не правильно выразился. имею в виду что оно всегда подрезает
Vort
а тут надо не всегда?
R4SAS
строка с IP не фиксированной длинны
R4SAS
сответственно где то будет мало, и надо было бы еще подрезать, а где то будет много
Vort
как-то слишком сложно
R4SAS
т.е. 10.0.0.1:80 и 255.255.255.255:12345
R4SAS
потому и говорю толкать лучше просто на страницу деста
R4SAS
weko: это в твоем интересе включать в релиз или нет )))
R4SAS
просто осталось... 5 дней
R4SAS
virtual int GetRemoteDestinationPort() { return -1; }
R4SAS
а почему -1?
weko
Потому что бывает 0
weko
[17:30:42] <R4SAS> weko: это в твоем интересе включать в релиз или нет )))
weko
Постараюсь заняться этим
weko
Лось предлагал сделать спойлер как на главной странице
segfault
orignal: а можно начать с оформления? Можно сделать PR где я для начала умещу в 80 колонок текст, где возможно сделаю {} вместо (), static_cast добавлю вместо сишного приведения типов?
weko
Только по клику показывать доп инфу
Vort
segfault: подозреваю, что это плохая идея
R4SAS
segfault: бессмысленно умещать в 80
orignal
segfault нельзя
R4SAS
это зачастую ломает читабельность
orignal
изменения только содержательные
Vort
стиль лучше чинить вместе с однозначно полезными изменениями
Vort
стиль ради стиля можно менять бесконечно
Vort
и вроде постоянно будет прогресс
Vort
точнее будет так только казаться
R4SAS
максимум что можно - это поправить табуляцию, но этим обычно я занимаюсь и сам
segfault
Ну вот например:
segfault
github.com/PurpleI2P/i2pd/blob/09f233dbfb07fb1c3edd38a47d65e56a99589d50/libi2pd/NetDb.cpp#L39
weko
По поводу приведения - разве static_cast не безопаснее?
Vort
на самом деле, стиль - это всё-таки проблема. но по-нормальному решить её сложно
segfault
R4SAS: Почему бессмысленно? Так можно два файла на один монитор спокойно уместить. Например в одном header, в другом .cpp. Очень удобно.
Vort
поэтому лучше без нужды не шевелить
R4SAS
segfault: с таким же успехом ты можешь включить перенос строки
segfault
weko: так и {} безопаснее ()
R4SAS
один хрен
orignal
короче не надо это
weko
segfault: ну там проще отследить что происходит
Vort
R4SAS: orignal: вы бы лучше, конечно, объяснили, почему не надо
orignal
потому что пользы от этого никакой
R4SAS
Vort: это из разряда "мы пишем, но ничего не меняем"
orignal
а понтов обычно бывает много
orignal
потому с бессоджертальными изменениями пусть проходят мимо
weko
segfault: у меня есть список заметок по i2pd
weko
Что можно сделать
weko
Пиши в лс, когда будет время
Vort
ну польза - повышение скорости чтения и понимания кода программистом (особенно, не знакомым с кодом)
R4SAS
segfault: если тебе прям совсем нечем заняться, почини socks прокси
Vort
а вот про побочные негативные эффекты - это я согласен, по сути это и написал
orignal
R4SAS если ты про upstream то я уже занимаюьс
weko
Vort: при чтении важны скорее грамотные названия и абстракции, отсутствие велосипедов и костылей
R4SAS
orignal: собираешься до релиза пофиксить?
weko
Мелкие детали тоже лезут в глаза, но не критичны
orignal
не уверен
orignal
нет времкни
segfault
> если тебе прям совсем нечем заняться, почини socks прокси
Vort
weko: это тоже в какой-то мере стиль
orignal
но он все равно не сделает
segfault
Что курить?
orignal
там upstream через socks4 а надо через socks5
weko
Vort: это уже не стиль
orignal
но для socks5 2 сообщения для утсаноки соединения
orignal
потому там надо два стейта делать
weko
Это качество с точки зрения поддержки
Vort
weko: про длину строки - там просто глазам надо больше туда-сюда двигаться. по этой же причине книжки бумажные - вертикальны, а не горизонтальны. а иногда и в несколько колонок
orignal
еще там надо бы запилить UDP прокси который транслирует пакеты в датаграммы
weko
Vort: могу согласиться
R4SAS
недоделанные наброски у меня были такими: github.com/PurpleI2P/i2pd/compare/openssl...socks5
R4SAS
но у меня почему то данные не ходят
orignal
потому что там 2 сообщения надо
segfault
orignal> там upstream через socks4 а надо через socks5
segfault
Можешь ткнуть где это?
orignal
вот с UDP там более интересно
R4SAS
уже реализованно было, авторизация проходит
orignal
Socks.cpp
R4SAS
у меня дальше линковка двух сокетов не срабатывала
R4SAS
а вообще надо вырезать нафиг 4
R4SAS
github.com/PurpleI2P/i2pd/compare/openssl...socks5#diff-357c99bb511a9593d2a39858bc4b8f4c66aff050cfa5065e60e4dd61dafab103R284-R297
R4SAS
orignal: вот эти 2 сообщения
R4SAS
пытался сделать всё в одной функции
segfault
R4SAS ты уже доделаешь это?
R4SAS
segfault: ты видишь когда это писалось? год назад. потому и говорю, если хочешь, можешь доделать
segfault
Кстати, для чего Gost.cpp ?
R4SAS
логично же, для госта
segfault
Где в I2P гост 34 ?
segfault
Это же не госткойн
orignal
в Signature.h
orignal
там реализации подписи на гостовкойц кривой
R4SAS
тип 9 и 10
orignal
госткойн появился позднее
R4SAS
о этом даже на жабовом сайте написано
segfault
У джава роутера тоже? И совместимо?
orignal
нет у них нету подписи по госту
R4SAS
жаба не переваривает, но уведомляет что не поддерживается
Vort
вспомнил об одной фиче в некоторых проектах: интересно было бы иметь в github issues список задач, подходящих для новичков
segfault
Вы пишите по каким-то стандартам или просто как нравится?
Vort
хотя не уверен, что таких задач тут много. основное небось хитрозакрученные баги, к которым прикасаться не хочется
segfault
> нет у них нету подписи по госту
Vort
segfault: мой совет, пригодный для множества проектов: стиль стоит брать просто с окружающего кода (если вопрос стандартов касался стиля)
segfault
А оно не в "стандарте" протокола?
segfault
Только между i2pd и работает?
segfault
И какой тогда смысл?
segfault
И еще по поводу мелки исправлений. Тут константы записаны как const, а не как constexpr. Надо исправлять?
segfault
const uint8_t CERTIFICATE_TYPE_NULL = 0;
segfault
И т.п.
Vort
а смысл?
Vort
оптимизация типа?
Vort
в таком случае надо смотреть на ассемблерный код :)
Vort
и профилирование делать
Vort
только вот думаю в 99% случаев код будет байт в байт тот же
segfault
Константы тогда будут просто зашиты в бинарник, а не инициализироваться переменные в неизменяемой области памяти.
Vort
компиляторы обычно не дураки
segfault
Ну хрен знает.
segfault
Я знаю как должно быть по стандарту
segfault
А как это оптимизируется непонятно.
segfault
Забавно. constexpr не написали, а вот inline написали :)
R4SAS
segfault: так в чем разница будет при работе то?
segfault
Ну как я понимаю в том, что при constexpr будет создана константа в compile time, а при const будет создана переменная в .bss секции в runtime.
segfault
Ну то есть инициализации переменной const будет выполняться машинные инструкции (я думаю там будет пару mov), а при constexpr не будет ничего.
orignal
потому что в той версии g++ когда я начинал constexprt еще не было
orignal
так что ничего забаваного
R4SAS
кстати да, segfault учитывай что поддержка должна быть вплоть до centos 7
orignal
вплоть до g++ 4.8 если более конкретно
orignal
а я начинал на 4.6
segfault
orignal: C++11 короче
segfault
Или gnu++11 ?
segfault
Ну как бы в крайнем случае "починить" constexpr можно просто макросом. Просто #define constexpr const
orignal
не заморачивайся ерундой
orignal
оно вообще ни на что не влияет
orignal
вот просто 0