| Home | Libraries | People | FAQ | More

#### io_service::post

Request the `io_service` to invoke the given handler and return immediately.

    template<
        typename CompletionHandler>
    void post(
        CompletionHandler handler);

This function is used to ask the `io_service` to execute the given handler, but without allowing the `io_service` to call the handler from inside this function.

The `io_service` guarantees that the handler will only be called in a thread in which the `run()`, `run_one()`, `poll()` or `poll_one()` member functions is currently being invoked.

###### Parameters

handler

  The handler to be called. The `io_service` will make a copy of the handler object as required. The function signature of the handler must be:

      void handler();

###### Remarks

This function throws an exception only if:

- the handler's `asio_handler_allocate` function; or
- the handler's copy constructor

throws an exception.