Size: a a a

2020 May 06

AP

Antony Polukhin in pro.cxx
Alexander Malkov
Раз никто не ответил, можно спросить, конкретно @antoshkka ?))
Добрый вечер. Планируется ли дальше выкладывать Userver в ОпенСоурс?
Уж очень хочется его потрогать и попробовать использовать в своих проектах и сервисах, иначе приходится сейчас писать свой фреймворк, но одно дело, когда пишет один человек, а другое, когда написано хорошей командой)
Спасибо за интерес и добрые слова!

Мы будем выкладывать, но пока непонятно когда
источник

AM

Alexander Malkov in pro.cxx
Antony Polukhin
Спасибо за интерес и добрые слова!

Мы будем выкладывать, но пока непонятно когда
Доброе утро) благодарю за ответ.

А есть хотя бы примерное представление, через год/два?) очень интересно, как реализованы корутинки там, как построена сама архитектура фреймворка..
источник

АК

Александр Караев... in pro.cxx
Alex
Как заставить работать такую специализацию? Это не может быть ни свободная функция, ни функция-член, а только шаблон структуры с нешаблонным методом valueSize?

template <typename T>
size_t valueSize(const T& value) {
 return sizeof(T);
}

template <typename T>
size_t valueSize<std::vector<T>>(const std::vector<T>& v) {
 return v.size() * sizeof(T);
}
https://youtu.be/mkPTreWiglk
Начиная с 31:22

Там описаны частые проблемы и как их решить (порядок объявление функций, неймспейсы, ADL и прочее)
источник

S

Spoonson in pro.cxx
Antony Polukhin
Более дельного ничего нет. Если разберётесь - выложите код в открытый доступ, интересно будет посмотреть
получилось вот что https://gist.github.com/kremius/7da9899455c01a48bfd50386ead8eb0b
делать awaitable и кастомизировать сами корутины не потребовалось, было достаточно того функционала, что предоставляет сам буст для реализации асинхронного апи.
источник

A

Alex in pro.cxx
Artöm Bakri Al-Sarmini
Это с форвардинг ссылками
с T&& полный капут, это точно. Если делаешь специализированный вариант, нужно для этого типа выключать перегрузку T&& через enable_if.
источник

A

Alex in pro.cxx
Александр Караев
https://youtu.be/mkPTreWiglk
Начиная с 31:22

Там описаны частые проблемы и как их решить (порядок объявление функций, неймспейсы, ADL и прочее)
спасибо!
источник

AM

Alexander Malkov in pro.cxx
Spoonson
получилось вот что https://gist.github.com/kremius/7da9899455c01a48bfd50386ead8eb0b
делать awaitable и кастомизировать сами корутины не потребовалось, было достаточно того функционала, что предоставляет сам буст для реализации асинхронного апи.
воу... только с утра думал о том, как обернуть буст асио в корутины?)
источник

S

Spoonson in pro.cxx
Alexander Malkov
воу... только с утра думал о том, как обернуть буст асио в корутины?)
собтвенно сам асио оборачивать и не надо, он и так работает с корутинами. Оборачивать надо только какие-то свои штуки или внешнее апи.
источник

AM

Alexander Malkov in pro.cxx
Spoonson
собтвенно сам асио оборачивать и не надо, он и так работает с корутинами. Оборачивать надо только какие-то свои штуки или внешнее апи.
ну, вот, я сделал себе подобную оболочку для beast
seanet::server::server server;
server.handle("/", [](const seanet::server::request &req, seanet::server::response &res) {
   std::cerr << req.method << std::endl;
   res.set_code(200);
   res.set_body("{\"foo\": \"bar\"}");
});


хотелось бы, чтобы все это выполнялось в корутине
источник

AM

Alexander Malkov in pro.cxx
таких handle может быть бесконечно.. могут быть контроллеры, которые будут отдельно собирать подобные хандлеры, задумок куча
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Ехал server через server
источник

R

Roman in pro.cxx
Artöm Bakri Al-Sarmini
Ехал server через server
видит server в сети server
источник

MM

Moulin Myers in pro.cxx
Artöm Bakri Al-Sarmini
Ехал server через server
Чет заорал :D
источник

AM

Alexander Malkov in pro.cxx
человек человеку товарищ,
а server server server.
(зомби зомби зомби)
источник

AM

Alexander Malkov in pro.cxx
Spoonson
собтвенно сам асио оборачивать и не надо, он и так работает с корутинами. Оборачивать надо только какие-то свои штуки или внешнее апи.
да, вижу по документации, что с 1.70 они добавили функционал std корутин.. класс)) надо попробовать на досуге)
источник

AP

Antony Polukhin in pro.cxx
Spoonson
получилось вот что https://gist.github.com/kremius/7da9899455c01a48bfd50386ead8eb0b
делать awaitable и кастомизировать сами корутины не потребовалось, было достаточно того функционала, что предоставляет сам буст для реализации асинхронного апи.
Спасибо!
источник

SD

Sergey Dubovik in pro.cxx
Парни, вопрос: лямбда, которая ничего не захватывает, чисто теоретически, может быть представлена компилятором как просто указатель на функцию, или это всегда будет функтор?
источник

AZ

Alexander Zaitsev in pro.cxx
Sergey Dubovik
Парни, вопрос: лямбда, которая ничего не захватывает, чисто теоретически, может быть представлена компилятором как просто указатель на функцию, или это всегда будет функтор?
может быть представлена как указатель на функцию
источник

m

magras in pro.cxx
Sergey Dubovik
Парни, вопрос: лямбда, которая ничего не захватывает, чисто теоретически, может быть представлена компилятором как просто указатель на функцию, или это всегда будет функтор?
Стандарт говорит, что такая лямбда может быть приведена к указателю на функцию.
источник

SD

Sergey Dubovik in pro.cxx
А какой конкретно?
источник