728x90
반응형
Endpoint requirements (엔드포인트 요구사항)
Destructible (C++Std [destructible]), DefaultConstructible (C++Std [defaultconstructible]), CopyConstructible (C++Std [copyconstructible]) 그리고 CopyAssignable (C++Std [copyassignable])의 요구사항과 함께 아래 나열된 추가 요구사항을 충족하는 경우, 유형 X는 Endpoint requirements(엔드포인트 요구사항)를 충족한다.
유형 X의 기본 생성자와 이동 작업은 예외를 통해 종료되지 않는다.
아래 표에서, a는 유형 X의 값(아마도 const)을 나타내고 u는 식별자를 나타낸다.
표 11. Endpoint requirements (엔드포인트 요구사항)
표현식 | 유형 | assertion/note (에러 검출/참고) pre/post-condition (사전/사후 조건) |
X::protocol_type | 유형은 Protocol requirements(프로토콜 요구사항)를 충족한다. | |
a.protocol() | protocol_type |
아래 표에서, a는 유형 X의 값(아마도 const)을 나타내고, b는 유형 X의 값을 나타내고, s는 유형(size_t로 변환할 수 있고 바이트 크기를 나타내는)의 값(아마도 const)을 나타낸다.
표 12. Endpoint requirements for extensible implementations (확장 가능한 구현을 위한 엔드포인트 요구사항)
표현식 | 유형 | assertion/note (에러 검출/참고) pre/post-condition (사전/사후 조건) |
a.data() | const void* | POSIX connect()와 같은 함수에 address 인수나 POSIX sendto()와 같은 함수에 dest_addr 인수로 전달하기에 적합한 포인터를 반환한다. 구현은 포인터를 const sockaddr*로 변환하기 위해 static_cast를 수행해야 한다.. |
b.data() | void* | POSIX accept(), getpeername(), getsockname(), recvfrom()와 같은 함수에 address 인수로 전달하기에 적합한 포인터를 반환한다. 구현은 포인터를 sockaddr*로 변환하기 위해 static_cast를 수행해야 한다. |
a.size() | size_t | 적절한 정수 변환이 수행된 후, POSIX connect()와 같은 함수에 address_len 인수나 POSIX sendto()와 같은 함수에 dest_len 인수로 전달하기에 적합한 값을 반환한다. |
b.resize(s) | pre(사전 조건): s >= 0 post(사후 조건): a.size() == s 함수가 성공적으로 완료된 후, POSIX accept(), getpeername(), getsockname(), recvfrom()와 같은 함수에 address_len 인수로 포함된 값이 전달된다. |
|
a.capacity() | size_t | 적절한 정수 변환이 수행된 후, POSIX accept(), getpeername(), getsockname(), recvfrom()와 같은 함수에 address_len 인수로 전달하기에 적합한 값을 반환한다. |
728x90
반응형
'Boost C++ Libraries > Boost.Asio' 카테고리의 다른 글
Boost.Asio - generic::datagram_protocol (0) | 2021.03.26 |
---|---|
Boost.Asio - generic::basic_endpoint (0) | 2021.03.26 |
Boost.Asio - Protocol requirements (0) | 2021.03.26 |
Boost.Asio - ip::icmp (0) | 2021.03.25 |
Boost.Asio - ip::udp (0) | 2021.03.25 |