This function does not block, but instead simply signals the io_context
to stop. All invocations of its run() or run_one()
member functions should return as soon as possible. Subsequent calls to
run(), run_one(), poll() or poll_one()
will return immediately until restart() is called.