새로운 인터페이스 |
이전 인터페이스 |
참고 |
io_context |
io_service |
io_service 이름은 typedef로 유지된다. |
dispatch |
io_service::dispatch |
사용가능한 dispatch 함수는 Executor나 ExecutionContext에 함수를 종속시키는 데 사용될 수 있다. |
post |
io_service::post |
사용가능한 post 함수는 Executor나 ExecutionContext에 함수를 종속시키는 데 사용될 수 있다. |
defer |
asio_handler_is_continuation 후크가 true를 반환할 경우의 io_service::post |
사용가능한 post 함수는 Executor나 ExecutionContext에 함수를 종속시키는 데 사용될 수 있다. |
io_context::poll |
error_code& 를 가지는 io_service::poll의 오버로드 |
error_code 오버로드는 필요하지 않다. |
io_context::poll_one |
error_code& 를 가지는 io_service::poll_one의 오버로드 |
error_code 오버로드는 필요하지 않다. |
io_context::run |
error_code& 를 가지는 io_service::run의 오버로드 |
error_code 오버로드는 필요하지 않다. |
io_context::run_one |
error_code& 를 가지는 io_service::run_one의 오버로드 |
error_code 오버로드는 필요하지 않다. |
io_context::run_for, io_context::run_until, io_context::run_one_for, io_context::run_one_until |
|
이러한 함수는 제한된 시간 동안 io_context를 실행할 수 있는 기능을 추가한다. |
io_context::restart |
io_service::reset |
|
concurrency_hint 파라미터가 int 유형인 io_context 생성자 |
concurrency_hint 파라미터가 std::size_t 유형인 io_context 생성자 |
이전 생성자는 더 이상 사용되지 않는 오버로드로 유지되지 않는다. |
execution_context, execution_context::service, execution_context::id |
io_service, io_service::service, io_service::id |
서비스 관련 기능이 execution_context 기본 클래스로 이동되었다. 이것은 또한 사용자 정의 실행 컨텍스트를 만들기위한 기반으로 사용될 수 있다. |
make_service |
add_service |
|
strand |
io_service::strand |
이 템플릿은 유효한 실행기(executor)와 함께 작동하며, 그 자체가 유효한 실행기(executor)이다. |
executor_work_guard, make_work_guard |
io_service::work |
작업 추적은 이제 Executor 요구 사항에 포함된다. 이러한 템플릿은 유효한 실행기(executor)와 함께 작동한다. |
executor_binder, bind_executor |
io_service::wrap, io_service::strand::wrap |
이러한 템플릿은 유효한 실행기(executor)와 함께 작동한다. |
CompletionToken와 서명된 템플릿 파라미터가 있는 async_result |
handler_type와 단일 파라미터 async_result |
async_result 특성은 이제 비동기 작업 완료 핸들러와 반환 유형에 대한 사용자 정의 단일 지점이다. |
associated_executor, get_associated_executor |
asio_handler_invoke |
핸들러 호출 후크는 새로운 실행기(Executor) 요구 사항과 관련된 실행기(executor) 특성으로 대체되었다. |
associated_allocator, get_associated_allocator |
asio_handler_allocate, asio_handler_deallocate |
핸들러 할당 후크는 표준 할당자 요구 사항과 관련된 할당자 특성으로 대체되었다. |
const_buffer::data, mutable_buffer::data |
buffer_cast |
|
const_buffer::size, mutable_buffer::size |
단일 버퍼의 경우 buffer_size |
const_buffer와 mutable_buffer가 버퍼 시퀀스 요구 사항을 이제 충족하므로, buffer_size는 단일 버퍼에 대해 사용된다. |
const_buffer |
const_buffers_1 |
ConstBufferSequence 요구 사항은 const_buffer가 이제 ConstBufferSequence 요구 사항을 충족하도록 수정되었다. |
mutable_buffer |
mutable_buffers_1 |
MutableBufferSequence 요구 사항은 mutable_buffer가 이제 MutableBufferSequence 요구 사항을 충족하도록 수정되었다. |
basic_socket::get_executor (및 타이머, 직렬 포트 등과 같은 I/O 객체에 대한 해당 멤버) |
basic_io_object::get_io_service |
get_executor().context()를 사용하여 연관된 io_context를 얻는다. |
socket_base::max_listen_connections |
socket_base::max_connections |
|
socket_base::wait_type, basic_socket::wait, basic_socket::async_wait, basic_socket_acceptor::wait, basic_socket_acceptor::async_wait |
null_buffers |
반응형 I/O 작업 |
소켓을 반환하는 basic_socket_acceptor::accept |
참조로 소켓을 가지는 basic_socket_acceptor::accept |
이동 지원을 사용하므로 C++11 이상이 필요하다. 다른 io_context 소켓 개체에 대한 연결을 승인하려면, 대상 컨텍스트를 accept에 전달한다. |
소켓을 핸들러로 전달하는 basic_socket_acceptor::async_accept |
참조로 소켓을 가지는 basic_socket_acceptor::async_accept |
이동 지원을 사용하므로 C++11 이상이 필요하다. 다른 io_context 소켓 개체에 대한 연결을 승인하려면, 대상 컨텍스트를 async_accept에 전달한다. |
범위(range)를 가지는 connect 오버로드 |
단일 반복기(iterator)를 가지는 connect 오버로드 |
ip::basic_resolver::resolve 함수는 이제 범위(range)를 반환한다. resolve 함수의 결과가 직접 connect에 전달되면 범위(range) 오버로드가 선택된다. |
범위(range)를 가지는 async_connect 오버로드 |
단일 반복기(iterator)를 가지는 async_connect 오버로드 |
ip::basic_resolver::resolve 함수는 이제 범위(range)를 반환한다. resolve 함수의 결과가 직접 async_connect에 전달되면 범위(range) 오버로드가 선택된다. |
basic_socket_streambuf::duration |
basic_socket_streambuf::duration_type |
|
basic_socket_streambuf::time_point |
basic_socket_streambuf::time_type |
|
basic_socket_streambuf::expiry |
basic_socket_streambuf::expires_at, basic_socket_streambuf::expires_from_now 게터(getters) |
|
basic_socket_streambuf::expires_after |
basic_socket_streambuf::expires_from_now 세터(setter) |
|
basic_socket_streambuf::error |
basic_socket_streambuf::puberror |
|
basic_socket_iostream::duration |
basic_socket_iostream::duration_type |
|
basic_socket_iostream::time_point |
basic_socket_iostream::time_type |
|
basic_socket_iostream::expiry |
basic_socket_iostream::expires_at, basic_socket_iostream::expires_from_now 게터(getters) |
|
basic_socket_iostream::expires_after |
basic_socket_iostream::expires_from_now 세터(setter) |
|
basic_waitable_timer::cancel |
error_code&를 가지는 basic_waitable_timer::cancel의 오버로드 |
error_code의 오버로드는 필요하지 않다. |
basic_waitable_timer::cancel_one |
error_code&를 가지는 basic_waitable_timer::cancel_one의 오버로드 |
error_code의 오버로드는 필요하지 않다. |
basic_waitable_timer::expires_at 세터(setter) |
error_code&를 가지는 basic_waitable_timer::expires_at의 세터(setter) |
error_code의 오버로드는 필요하지 않다. |
basic_waitable_timer::expiry |
basic_waitable_timer::expires_at, basic_waitable_timer::expires_from_now 게터(getters) |
|
basic_waitable_timer::expires_after |
basic_waitable_timer::expires_from_now 세터(setter) |
|
ip::make_address |
ip::address::from_string |
|
ip::make_address_v4 |
ip::address_v4::from_string, ip::address_v6::to_v4 |
|
ip::make_address_v6 |
ip::address_v6::from_string, ip::address_v6::v4_mapped |
|
ip::address::to_string |
error_code&를 가지는 ip::address::to_string |
error_code의 오버로드는 필요하지 않다. |
ip::address_v4::to_string |
error_code&를 가지는 ip::address_v4::to_string |
error_code의 오버로드는 필요하지 않다. |
ip::address_v6::to_string |
error_code&를 가지는 ip::address_v6::to_string |
error_code의 오버로드는 필요하지 않다. |
대체 없음 |
ip::address_v6::is_v4_compatible, ip::address_v6::v4_compatible |
|
ip::network_v4 |
ip::address_v4::broadcast, ip::address_v4::is_class_a, ip::address_v4::is_class_b, ip::address_v4::is_class_c, ip::address_v4::netmask |
network_v4 클래스는 CIDR 표기법을 사용하여 IPv4 네트워크 주소를 조작하는 기능을 추가한다. |
ip::network_v6 |
|
network_v6 클래스는 CIDR 표기법을 사용하여 IPv6 네트워크 주소를 조작하는 기능을 추가한다. |
ip::address_v4_iterator, ip::address_v4_range |
|
ip::address_v4_iterator와 address_v4_range 클래스는 IPv4 주소 전체 또는 일부(subset)를 반복(iterate)하는 가능을 추가한다. |
ip::address_v6_iterator, ip::address_v6_range |
|
ip::address_v6_iterator와 address_v6_range 클래스는 IPv6 주소 전체 또는 일부(subset)를 반복(iterate)하는 가능을 추가한다. |
ip::basic_resolver::results_type |
ip::basic_resolver::iterator |
리졸버(resolver)는 단일 반복기(iterator)가 아니라 범위(range)를 생성한다. |
호스트 이름과 서비스를 인수로 가지는 ip::basic_resolver::resolve의 오버로드 |
ip::basic_resolver::query를 가지는 ip::basic_resolver::resolve 오버로드 |
|
범위(range)를 반환하는 ip::basic_resolver::resolve |
단일 반복기(iterator)를 반환하는 ip::basic_resolver::resolve |
|
호스트 이름과 서비스를 인수로 가지는 ip::basic_resolver::async_resolve 오버로드 |
ip::basic_resolver::query를 가지는 ip::basic_resolver::async_resolve 오버로드 |
|
범위(range)와 함께 핸들러를 호출하는 ip::basic_resolver::async_resolve |
단일 반복기(iterator)와 함께 핸들러를 호출하는 ip::basic_resolver::async_resolve |
|