In baseclient.cc in function ListenBucketNotification, the data from the notification gets added in every iteration in the while(true) loop, resulting in a endless loop. You get the same notification over and over again. Moving "data += args.datachunk;" outside of the whileloop fixed the problem for me. But im not sure if thats the intended way.
Old
req.datafunc = [&func = func, &data = data](http::DataFunctionArgs args) -> bool { while (true) { data += args.datachunk; size_t pos = data.find('\n'); if (pos == std::string::npos) return true; std::string line = data.substr(0, pos);
New
req.datafunc = [&func = func, &data = data](http::DataFunctionArgs args) -> bool { data += args.datachunk; while (true) { size_t pos = data.find('\n'); if (pos == std::string::npos) return true; std::string line = data.substr(0, pos);
In baseclient.cc in function ListenBucketNotification, the data from the notification gets added in every iteration in the while(true) loop, resulting in a endless loop. You get the same notification over and over again. Moving "data += args.datachunk;" outside of the whileloop fixed the problem for me. But im not sure if thats the intended way.
Old
req.datafunc = [&func = func, &data = data](http::DataFunctionArgs args) -> bool { while (true) { data += args.datachunk; size_t pos = data.find('\n'); if (pos == std::string::npos) return true; std::string line = data.substr(0, pos);
New
req.datafunc = [&func = func, &data = data](http::DataFunctionArgs args) -> bool { data += args.datachunk; while (true) { size_t pos = data.find('\n'); if (pos == std::string::npos) return true; std::string line = data.substr(0, pos);