Boost C++ Libraries/Boost.Asio

Boost.Asio - Completion handler requirements

까마귀75 2021. 3. 22. 17:14
728x90
반응형

Completion handler requirements (완료 핸들러 요구 사항)

완료 핸들러는 handler에 대한 요구 사항을 충족해야 한다. 완료 핸들러 클래스의 값 h는 표현식 h()에서 올바르게 작동해야 한다.

예 제

완료 핸들러로 사용할 수 있는 함수:

void completion_handler()
{
  ...
}


완료 핸들러 함수 개체:

struct completion_handler
{
  ...
  void operator()()
  {
    ...
  }
  ...
};


완료 핸들러로 람다(lambda):

my_io_service.post(
    []()
    {
      ...
    });


완료 핸들러로 std::bind()를 사용하여 적용된 static이 아닌 클래스 멤버 함수:

void my_class::completion_handler()
{
  ...
}
...
my_io_service.post(std::bind(&my_class::completion_handler, this));


완료 핸들러로 boost::bind()를 사용하여 적용된 static이 아닌 클래스 멤버 함수:

void my_class::completion_handler()
{
  ...
}
...
my_io_service.post(boost::bind(&my_class::completion_handler, this));


Boost.Asio 홈

728x90
반응형