The code means:

boost::asio::require(                                  // #3
    io_context->get_executor(),                        // #1
    boost::asio::execution::outstanding_work.tracked)  // #2

#1: given this executor,
#2: try to construct a similar executor which tracks the outstanding io
operations associated with it (i.e. does not stop until all work is
complete)
#3: require that this tracking attribute is available (fail to compile if
the executor does not support it)




On Sun, 6 Jun 2021 at 17:13, ZheNing Hu via Boost-users <
boost-users@lists.boost.org> wrote:

> Hi, I ran into difficulties when I was reading boost::asio http server
> example[1],
>
> I see:
>
>     work_.push_back(
>         boost::asio::require(io_context->get_executor(),
>
>  boost::asio::execution::outstanding_work.tracked));
>
> I don't know what is the meaning of this code?
> Or what is boost::asio::require()? I did not find useful information
> to introduce it.
>
> [1]
> https://www.boost.org/doc/libs/1_76_0/doc/html/boost_asio/example/cpp03/http/server2/io_context_pool.cpp
>
> --
> ZheNing Hu
> _______________________________________________
> Boost-users mailing list
> Boost-users@lists.boost.org
> https://lists.boost.org/mailman/listinfo.cgi/boost-users
>
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users

Reply via email to