728x90
반응형
임위-접근 핸들 (Random-Access HANDLEs)
Boost.Asio는 일반 파일을 참조하는 HANDLE에서 비동기식 읽기/쓰기 작업을 수행할 수 있는 Windows 전용 클래스를 제공한다.
예를 들어, 파일로 비동기식 작업을 수행하려면 다음과 같이 개체를 생성할 수 있다:
HANDLE handle = ::CreateFile(...); windows::random_access_handle file(my_io_context, handle);
read_some_at(), async_read_some_at(), write_some_at(), async_write_some_at() 멤버 함수 중 하나를 사용하여 핸들로 데이터를 읽거나 쓸 수 있다. 그러나 스트림용과 동등한 함수(read_some() 등)처럼 이러한 함수는 단일 작업으로 하나 이상의 바이트만 전송하면 된다. 따라서 read_at(), async_read_at(), write_at(), async_write_at()라고 불리는 사용 가능한 함수가 생성되어 모든 데이터가 전송될 때까지 해당 *_some_at() 함수를 반복적으로 호출한다.
더 보기
참고
Windows 임위-접근 HANDLE은 대상이 Windows이고 I/O 완료 포트 백엔드가 사용되는 경우(기본값)에만 컴파일 타임에 사용할 수 있다. BOOST_ASIO_HAS_WINDOW_RANDOM_ACCESS_HANDLE 매크로를 테스트하여 지원 여부를 결정할 수 있다.
728x90
반응형
'Boost C++ Libraries > Boost.Asio' 카테고리의 다른 글
Boost.Asio 개요 - SSL (0) | 2020.12.13 |
---|---|
Boost.Asio 개요 - Windows 전용 기능 - 객체 핸들 (0) | 2020.12.12 |
Boost.Asio 개요 - Windows 전용 기능 - 스트림-지향 핸들 (0) | 2020.12.12 |
Boost.Asio 개요 - Windows 전용 기능 (0) | 2020.12.12 |
Boost.Asio - POSIX 전용 기능 - 포크 (0) | 2020.12.12 |