Boost logo

Boost Users :

From: degski (degski_at_[hidden])
Date: 2019-07-12 04:59:56


On Fri, 12 Jul 2019 at 03:43, Christopher Pisz via Boost-users <
boost-users_at_[hidden]> wrote:

> I am trying to perform a task on an interval and I made a POC using
> boost::asio::steady_timer. When I debug it, it only performs the callback
> once and does not fire again. I am not sure what I am doing wrong. Any
> suggestions?
>

Why would it 'fire' more than once, there is no loop?

int main() {
    boost::asio::io_context ioContext;
    auto pooper = Pooper(ioContext);
    while ( true ) {
         pooper.Run();
        ioContext.run();
    }
    std::cerr << "Exited..." << std::endl;
}

Now it will poop till you drop.

Other than that, this appears to be [you don't state what you would like to
achieve] some kind of event-loop, where you suspend till the next frame.
You can suspend the current thread with std::this_thread::sleep_for (
std::chrono::milliseconds ( milliseconds_to_sleep ) ); or
std::this_thread::sleep_until ( some_time_point_in_the_future ); using just
std-lib facilities. Having said that, have a look at SFML (
https://www.sfml-dev.org/), which has all those things, event-loop,
event-polling, mouse, touch, joy-stick, sound, image rendering, window
creation etc.

degski

-- 
@realdegski
https://edition.cnn.com/interactive/2019/06/middleeast/saudi-teen-death-penalty-intl/
"Anyone who believes that exponential growth can go on forever in a finite
world is either a madman or an economist" - Kenneth E. Boulding


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net