Size: a a a

2020 September 15

K

Kirill in pro.cxx
И в деструкторе лишние проверки добавились
источник

d

disba1ancer in pro.cxx
Я бы вообще не полагался бы ни на какие copy elision, а нормально определилбы класс по правилу 5ти с некоторыми удалёнными конструкторами/операторами
источник

АР

Андрей Руссков... in pro.cxx
у тебя по стандарту copy elision должен срабатывать
источник

АР

Андрей Руссков... in pro.cxx
так что не полагаться на него так же разумно как и не полагаться на то что 1+1 будет 2
источник

d

disba1ancer in pro.cxx
Андрей Руссков
у тебя по стандарту copy elision должен срабатывать
Да, но случаи бывают разные, способ использования класса поменяется и начнут всплывать проблемы
источник

АР

Андрей Руссков... in pro.cxx
какие например?
источник

d

disba1ancer in pro.cxx
Андрей Руссков
какие например?
Не знаю
источник

bt

baby tonight in pro.cxx
Всем привет, у меня такая задача, boost asio/beast. Надо выкачать файл с сети несколько гигов.
Таким образом
boost::beast::http::async_read(state->socket,
   *state->streambuf,
   *state->response,
   [this, state](const boost::system::error_code& ec, std::size_t bytesTransfered) {
       OnRead(state, ec, bytesTransfered);
});

он выкачивается целиком, т.е слишком много жрёт оперативки. Если ставлю максимальный размер для streambuf, то получаю buffer overflow искючение. Как большой файл по частям читать из сети?
источник

K

Kirill in pro.cxx
baby tonight
Всем привет, у меня такая задача, boost asio/beast. Надо выкачать файл с сети несколько гигов.
Таким образом
boost::beast::http::async_read(state->socket,
   *state->streambuf,
   *state->response,
   [this, state](const boost::system::error_code& ec, std::size_t bytesTransfered) {
       OnRead(state, ec, bytesTransfered);
});

он выкачивается целиком, т.е слишком много жрёт оперативки. Если ставлю максимальный размер для streambuf, то получаю buffer overflow искючение. Как большой файл по частям читать из сети?
Обязательно boost::asio ?
источник

bt

baby tonight in pro.cxx
Kirill
Обязательно boost::asio ?
Да, желательно, иначе слишком много менять
источник

d

disba1ancer in pro.cxx
Kirill
Обязательно boost::asio ?
А почему нет?
источник

K

Kirill in pro.cxx
disba1ancer
А почему нет?
Сильно перегруженный фреймворк, по моему обычными сокетами намного проще
источник

d

disba1ancer in pro.cxx
Kirill
Сильно перегруженный фреймворк, по моему обычными сокетами намного проще
Хз чем оно перегружено, но с ними работать проще чем с нативным апи, плюсом расширяемость на несколько потоков
источник

K

Kirill in pro.cxx
disba1ancer
Хз чем оно перегружено, но с ними работать проще чем с нативным апи, плюсом расширяемость на несколько потоков
Вкусовщина
источник

K

Konstantin in pro.cxx
asio какой-то недописанный
источник

d

disba1ancer in pro.cxx
baby tonight
Всем привет, у меня такая задача, boost asio/beast. Надо выкачать файл с сети несколько гигов.
Таким образом
boost::beast::http::async_read(state->socket,
   *state->streambuf,
   *state->response,
   [this, state](const boost::system::error_code& ec, std::size_t bytesTransfered) {
       OnRead(state, ec, bytesTransfered);
});

он выкачивается целиком, т.е слишком много жрёт оперативки. Если ставлю максимальный размер для streambuf, то получаю buffer overflow искючение. Как большой файл по частям читать из сети?
В Гугле не ищется? Я просто не работал beast, а в доуи день зодить
источник

АК

Александр Караев... in pro.cxx
Kirill
Сильно перегруженный фреймворк, по моему обычными сокетами намного проще
Обычными кроссплатформенными сокетами, действительно
источник

K

Kirill in pro.cxx
Александр Караев
Обычными кроссплатформенными сокетами, действительно
Как по мне - пара дефайнов лучше, чем тащить такую толстую либу
источник

K

Konstantin in pro.cxx
Вот вроде всё норм, но почему нельзя снять хендлер и убедиться в том, что прямо сейчас в реакторе нет его вызовов? И почему нельзя приделать приоритеты в очередь реактора?
источник

d

disba1ancer in pro.cxx
Konstantin
asio какой-то недописанный
Но явно более дописанный, чем многие напишут сами
источник