pdcomm::Secs1BorrowedIo
클래스
원시 C 콜백으로 만든, 소유하지 않는(non-owning) I/O 바인딩입니다.
class Secs1BorrowedIo호출자의 컨텍스트와 PdcommSecs1Read, PdcommSecs1Write 콜백(callback)으로 PdcommSecs1Io 테이블을 채웁니다. 이 객체와 그 컨텍스트, 콜백 코드는 이 객체로 만든 모든 Secs1Endpoint보다 오래 살아 있어야 합니다. 원시 콜백은 C++ 예외가 C ABI 경계를 넘어 빠져나가지 않게 해야 합니다. C++ 코드에서는 Secs1IoAdapter를 사용하는 것이 좋습니다.
참고
- 복사도 이동도 할 수 없으므로 끝점(endpoint)이 사용하는 동안 주소가 바뀌지 않습니다.
멤버
Secs1BorrowedIo
생성자
이동할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.
Secs1BorrowedIo(Secs1BorrowedIo &&) = deleteSecs1BorrowedIo
생성자
복사할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.
Secs1BorrowedIo(const Secs1BorrowedIo &) = deleteSecs1BorrowedIo
생성자
콜백 테이블을 채웁니다.
Secs1BorrowedIo(void *context, PdcommSecs1Read read, PdcommSecs1Write write) noexcept여기서는 아무것도 검증하지 않습니다. Secs1Endpoint 생성자가 nullptr 컨텍스트나 콜백을 PDCOMM_INVALID_ARGUMENT로 거부합니다.
매개변수
| 이름 | 설명 |
|---|---|
context | 두 콜백에 전달되는 불투명(opaque) 포인터입니다. nullptr이면 안 됩니다. 소유하지 않고 빌려 씁니다. |
read | 비차단(non-blocking) 읽기 콜백입니다. 끝점은 Secs1Endpoint::poll() 안에서, 끝점의 스레드에서만 이 콜백을 호출합니다. |
write | 비차단 쓰기 콜백입니다. 끝점은 Secs1Endpoint::poll() 안에서, 끝점의 스레드에서만 이 콜백을 호출합니다. |
native
메서드
Secs1Endpoint가 pdcomm_secs1_create()에 전달하는 콜백 테이블을 반환합니다.
const PdcommSecs1Io &native() const noexcept반환값
struct_size가 설정된 테이블입니다. 이 객체가 살아 있는 동안 유효합니다.
operator=
메서드
이동 대입할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.
Secs1BorrowedIo &operator=(Secs1BorrowedIo &&) = deleteoperator=
메서드
복사 대입할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.
Secs1BorrowedIo &operator=(const Secs1BorrowedIo &) = delete