Run the io_service's event processing loop.
std::size_t run( boost::system::error_code & ec);
The run() function blocks until all work has finished and there are no more handlers to be dispatched, or until the io_service has been stopped.
Multiple threads may call the run() function to set up a pool of threads from which the io_service may execute handlers. All threads that are waiting in the pool are equivalent and the io_service may choose any one of them to invoke a handler.
The run() function may be safely called again once it has completed only after a call to reset().
Set to indicate what error occurred, if any.
The number of handlers that were executed.
The poll() function may also be used to dispatch ready handlers, but without blocking.