728x90
반응형
basic_raw_socket::async_wait
basic_socket에서 상속된다.
소켓 상태가 읽기 준비, 쓰기 준비 또는 오류 조건을 가질 때까지 비동기적으로 대기한다.
template<
typename WaitHandler = DEFAULT>
DEDUCED async_wait(
wait_type w,
WaitHandler && handler = DEFAULT);
[WaitHandler, DEFAULT, DEDUCED]
이 함수는 소켓이 읽기/쓰기 준비 또는 오류 조건 상태로 진입할 때까지 비동기 대기를 수행하는데 사용된다.
파라미터
w
대기를 원하는 소켓 상태를 지정한다.
handler
대기 작업이 완료되는 시점에 호출되는 핸들러이다. 필요에 따라 핸들러의 복사본이 만들어 진다. 핸들러의 함수 서명은 아래와 같아야 한다:
void handler( const boost::system::error_code& error // Result of operation );
비동기 작업이 즉시 완료되는지 여부에 상관없이, 핸들러는 이 함수 내에서 호출되지 않는다. 작업이 즉시 완료되는 경우, 핸들러의 호출은 "post"를 사용하는 것과 동일한 방식으로 수행된다.
예제
void wait_handler(const boost::system::error_code& error)
{
if (!error)
{
// Wait succeeded.
}
}
...
boost::asio::ip::tcp::socket socket(my_context);
...
socket.async_wait(boost::asio::ip::tcp::socket::wait_read, wait_handler);
728x90
반응형
'Boost C++ Libraries > Boost.Asio' 카테고리의 다른 글
Boost.Asio 색인 - basic_signal_set::async_wait (0) | 2021.01.08 |
---|---|
Boost.Asio 색인 - basic_seq_packet_socket::async_wait (0) | 2021.01.08 |
Boost.Asio 색인 - basic_deadline_timer::async_wait (0) | 2021.01.08 |
Boost.Asio 색인 - basic_datagram_socket::async_wait (0) | 2021.01.08 |
Boost.Asio 색인 - ssl::stream::async_shutdown (0) | 2021.01.08 |