It is my understanding that later::later(\() {...}) schedules functions to be executed, that only one such function can run at any given time, and that no such function can run if the session is not idle.
However, I am doubting this interpretation because of the presence of later::create_loop whose documentation says:
Normally, later uses a global event loop for scheduling and running functions. However, in some
cases, it is useful to create a private event loop to schedule and execute tasks without disturbing
the global event loop. For example, you might have asynchronous code that queries a remote data
source, but want to wait for a full back-and-forth communication to complete before continuing
in your code – from the caller’s perspective, it should behave like synchronous code, and not do
anything with the global event loop (which could run code unrelated to your operation). To do this,
you would run your asynchronous code using a private event loop.
Secondly, the C++ API seems to have some threaded implementation.
It is my understanding that
later::later(\() {...})
schedules functions to be executed, that only one such function can run at any given time, and that no such function can run if the session is not idle.However, I am doubting this interpretation because of the presence of
later::create_loop
whose documentation says:Secondly, the C++ API seems to have some threaded implementation.
Could you clarify?