🦥Alex Fails
типа нихуя версий, а стабильный master
Matwey
Ну считается, что если обложиться непрерывной интеграцией, то никакие версии не нужны, можно просто мерджить фичи в мастер и он всегда будет стабильныйи безбажный
🦥Alex Fails
наоборот)
Billy
da
Billy
Так может в ней уже устранили утечку? Надо более новую версию испытать
там чета фиксили, откатывали, меняли и все в бранче 2.0 который не поставить из дебиан пакета, и тж и тп
Billy
Matwey
Ну делаешь в отдельной ветке и потом сливаешь в мастер
Matwey
И в итоге у тебя новые фичи, ломающие API в перемешку с исправлениями багов
Billy
Ну делаешь в отдельной ветке и потом сливаешь в мастер
да нахер не надо это. ты бы видел зачем ее туда вставили?!!!!!!!! 4 урлы зараутить с разными префиксами.
Billy
это АД!
Billy
я просто ее удалю
Matwey
ну выкинь тогда
Billy
вот я этим и занят
Matwey
откуда мы должны знать зачем она тебе там нужна
Billy
так нету претензий )
Billy
да видел я все это вчера ) я чера весь код изучил и в мастере и в 2.0
Billy
в общем надо понять это сначала это она или нет.
Matwey
да нахер не надо это. ты бы видел зачем ее туда вставили?!!!!!!!! 4 урлы зараутить с разными префиксами.
Это подход серверного javascript. Там для ноды по-моему есть библиотека на любой случай жизни
Matwey
Даже чтобы 2+2 сложить
Billy
ыыыы
Billy
да
Billy
обижаешь )
Billy
у нас код из их примера
Billy
который перепроверен
Billy
и там не три ликает
Billy
а раутинг сам
Billy
создается дерево на старте. а дальше там райтинг делается на каждый чих и вот оооон!! :)
Matwey
вообще странно
Matwey
я не понимаю зачем память выделять при роутинге
Matwey
там же всё уже должно быть подготовлено
Matwey
для принятия решения
Billy
routing (опечатка)
Billy
я не понимаю зачем память выделять при роутинге
там выдираются параметры из урлы и кладутся в дерево, чтобы потом их достать видимо. я чутка подебажил вчера и забил
Billy
не инетресно
Billy
Через пару дней скажу о результатах, если интересно
Matwey
Он типа регексп парсит
Matwey
А мап заполняет группами
Matwey
foo/(.*?)/bar
Matwey
Ну а потом ты в своем клиентсном коде посмотришь что там было посредине
Олександр
Всем привет, кто-то работал с boost::beast? А если конкретно то с http запросами
Олександр
В общем, у меня проблема со скачиванием файла по кускам. Целый качается какое-то время, а нужен процесс загрузки, интерактивность и итеративность. Я испробовал всё, что только нашёл в документации, но в лучшем случае работало только read_header. Это я пробовал, не читает ни одного байта: http://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/using_http/parser_stream_operations/incremental_read.html
Олександр
Сокеты юзаю и обычные, и защищённые, но проверяю на TLS
Berkus
Представьте себе tcp сокет, я туда шлю запрос, мне в ответ приходит ответ. Есть условие, что между запросом и ответом должно пройти меньше timeout времени. Меня беспокоит такая пограничная ситуация когда данные в сокете появляются близко к моменту срабатывания таймера. В таком случае, возможно, что приложение будет занято обработкой других хендлеров некоторое время, после чего вернется в io_service.run() и там обнаружит, что одновременно сработал таймер и в сокете есть данные. В такой ситуации мне бы хотелось отдать приоритет обработке сокета. strand здесь не поможет, о чем явно написано в документации. Потому-что я не знаю в каком порядке кишки asio решат сделать dispatch моим обернутым в strand обработчикам. Нашел пример с priority_queue но он какой-то страшный. Я склоняюсь к тому, что надо как-то переформулировать задачу скорее, чтобы она в рамках asio решалась прозрачно.
ну в хендлере таймаута дополнительно проверяй что в сокете есть данные.
Matwey
ну в хендлере таймаута дополнительно проверяй что в сокете есть данные.
А дальше как? Читать их оттуда через синхронный ввод?
Berkus
А дальше как? Читать их оттуда через синхронный ввод?
игнорировать, колбек для чтения его прочитает
Matwey
игнорировать, колбек для чтения его прочитает
А если там не все данные пришли? Значит мне придется таймер по новой взводить
Billy
da. строит префикскное дерево по из урлов и в нодах хварин контекст который теьбе отдает когда узла вызвана
Billy
ахаха, зачот
Это говно течет 2.5 года уже )
Berkus
Через пару дней скажу о результатах, если интересно
да, конечно, и заодно каким constexpr вариантом роутинга это говно заменили)
Matwey
такова природа asio
Но тогда возможет вариант, что мне будут по одному байту раз в таймаут слать с того конца, и я буду бесконечно крутится в попытке решить, что делать
Billy
да, конечно, и заодно каким constexpr вариантом роутинга это говно заменили)
там 4 урлы с разными префиксами, strstr я сделал, чтобы проверить, что это все-таки r3 течет. Штука в том, что этот сервис убить надо езе 3 года назад было, но вот никак не могут
Matwey
Логично
Berkus
жаль, интересная либа, прийдётся отказаться
спроси у винни, он тебе думаю расскажет
Олександр
это кто?
Berkus
автор beast
Олександр
а, как вариант, спасибо)
Berkus
в слаке есть или на гитхабе ему ишью заведи
Berkus
он довольно быстро отвечает
Berkus
vinnie [4:28 PM] I can't catch a break
Berkus
и частично адресуй обращение так чтобы он примеры обновил на сайте в том числе и примером чтения файла по частям
Олександр
о, как раз это и хотел спросить, спасибо)
Berkus
о, как раз это и хотел спросить, спасибо)
https://cpplang.now.sh инвайт тут дают
Олександр
хм, а в слаке ж можно личный акк зарегать, а то с рабочего как-то не очень хочется?
Berkus
можно
Berkus
напиши свой личный имейл в инвайтилку и всё, там в каждый тим отдельный логин
Олександр
понял, спасибо
Max
Ребята, надо реализацию std::apply для C++11. Слышал что Google выпускал где то в общий доступ библиотеки для простой интеграции фич с новых стандартов на предыдущие и наоборот. Напрмер, у них точно есть весь std::optional переписан. Кто слышал/знает, где найти подобные вещи?
Крылатый
/ban
Berkus
чойта у них обострение
Max
тут выше вроде @anatolijs что-то подобное кидал
Ну там я спрашивал, можно ли использовать experimental
Крылатый
чойта у них обострение
По соседним чатам тоже разбежались, да.
Max
Мне нужны именно реализации данных вещей, которые можно прикрутить к проекту.
🦥Alex Fails
/cppref apply