Size: a a a

2020 October 06

d

disba1ancer in pro.cxx
Ilya Golshtein
Да код и есть в общем и целом синхронный, мы же ждем ответа от сервера.
смотря какой кейс
источник

К

Коля🤔🎭 in pro.cxx
Я скорее хочу отправлять эти запросы асинхронно
источник

d

disba1ancer in pro.cxx
Ilya Golshtein
Точнее, должны ждать.
может пока ждёшь ты можешь что-нибудь тяжёлое посчитать
источник

AD

Apache DOG™ in pro.cxx
Ilya Golshtein
Да код и есть в общем и целом синхронный, мы же ждем ответа от сервера.
Не должны, можем ждать асинхронно
источник

AD

Apache DOG™ in pro.cxx
Можно все сделать асинхронным
источник

IG

Ilya Golshtein in pro.cxx
Код выглядит так, как будто хотели послать запрос и дождаться ответа.
источник

IG

Ilya Golshtein in pro.cxx
И вот с "дождаться ответа" здесь все не очень хорошо.
источник

AD

Apache DOG™ in pro.cxx
Ilya Golshtein
Код выглядит так, как будто хотели послать запрос и дождаться ответа.
Асинхронный код тоже может так выглядеть
источник

IG

Ilya Golshtein in pro.cxx
Ну то есть его нужно либо сделать синхронным, либо сделать асинхронным. Сейчас он третий.
источник

К

Коля🤔🎭 in pro.cxx
В общем. Давайте я, наверное, уточню, что именно мне нужно сделать. Хочу каждый новый запрос выполнять асинхронно. Как я понял, сам код запроса нужно сделать синхронным, а вот уже следующий вопрос как сделать асинхронно выполнение каждого нового запроса, чтобы следующий запрос не зависел от предыдущего
источник

DS

Dmitry Sokolov in pro.cxx
Коля🤔🎭
В общем. Давайте я, наверное, уточню, что именно мне нужно сделать. Хочу каждый новый запрос выполнять асинхронно. Как я понял, сам код запроса нужно сделать синхронным, а вот уже следующий вопрос как сделать асинхронно выполнение каждого нового запроса, чтобы следующий запрос не зависел от предыдущего
Не нужно там вроде ничего предыдущего ждать в async_write. Только обеспечить чтобы буфер записи дожил. Например так или иначе сбиндив его в write callback.
источник

К

Коля🤔🎭 in pro.cxx
Dmitry Sokolov
Не нужно там вроде ничего предыдущего ждать в async_write. Только обеспечить чтобы буфер записи дожил. Например так или иначе сбиндив его в write callback.
Понял, спасибо большое
источник

DS

Dmitry Sokolov in pro.cxx
Коля🤔🎭
Понял, спасибо большое
req = make_shared(...)
async_write(req.buf, [req]...)
источник

HH

Hoot Hoot in pro.cxx
Привет! Посоветуйте хороших книг по геймдеву на плюсах(движках, памяти, матану и тд)...
Не для новичков
Спасибо
источник
2020 October 07

MT

Maksim Tsvetkov in pro.cxx
Dmitry Sokolov
Не нужно там вроде ничего предыдущего ждать в async_write. Только обеспечить чтобы буфер записи дожил. Например так или иначе сбиндив его в write callback.
https://think-async.com/Asio/asio-1.18.0/doc/asio/reference/async_write/overload1.html
The program must ensure that the stream performs no other write operations (such as async_write, the stream's async_write_some function, or any other composed operations that perform writes) until this operation completes.
источник

IS

I S in pro.cxx
Hoot Hoot
Привет! Посоветуйте хороших книг по геймдеву на плюсах(движках, памяти, матану и тд)...
Не для новичков
Спасибо
https://isetta.io/blogs/week-0/

Есть неплохой постмортем-блог, в нём книжки на выбор
источник

DS

Dmitry Sokolov in pro.cxx
Maksim Tsvetkov
https://think-async.com/Asio/asio-1.18.0/doc/asio/reference/async_write/overload1.html
The program must ensure that the stream performs no other write operations (such as async_write, the stream's async_write_some function, or any other composed operations that perform writes) until this operation completes.
О. Во как. Т.е. только через собственную очередь.
источник

DS

Dmitry Sokolov in pro.cxx
Maksim Tsvetkov
https://think-async.com/Asio/asio-1.18.0/doc/asio/reference/async_write/overload1.html
The program must ensure that the stream performs no other write operations (such as async_write, the stream's async_write_some function, or any other composed operations that perform writes) until this operation completes.
Хех, вот поэтому его и не принимают в стандарт :) Под капотом надо много держать. Да даже минимальный libev не до конца эффективен в попытке разделения read/write. Нужен вообще тупой poll watch. И вручную рулить rw ready.
источник

DS

Dmitry Sokolov in pro.cxx
Всегда было интересно, что там за магия позволяет независимо планировать асинхронные задачи на сокетах типа читать/писать, когда сам по себе сокет никаких очередей не держит, а на самом деле там какой-то блудняк, мапы по хэндлам. Которые нам продают как прям будущее C++.
источник

DF

Dollar Føølish in pro.cxx
Ну сам сокет по своей природе как раз таки полнодуплексный
источник