콘텐츠로 이동
무료 평가 시작

pdcomm::Secs1BorrowedIo

클래스

원시 C 콜백으로 만든, 소유하지 않는(non-owning) I/O 바인딩입니다.

class Secs1BorrowedIo

선언 위치: #include <pdcomm_secs1.hpp>

호출자의 컨텍스트와 PdcommSecs1Read, PdcommSecs1Write 콜백(callback)으로 PdcommSecs1Io 테이블을 채웁니다. 이 객체와 그 컨텍스트, 콜백 코드는 이 객체로 만든 모든 Secs1Endpoint보다 오래 살아 있어야 합니다. 원시 콜백은 C++ 예외가 C ABI 경계를 넘어 빠져나가지 않게 해야 합니다. C++ 코드에서는 Secs1IoAdapter를 사용하는 것이 좋습니다.

참고

  • 복사도 이동도 할 수 없으므로 끝점(endpoint)이 사용하는 동안 주소가 바뀌지 않습니다.

멤버

Secs1BorrowedIo

생성자

이동할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.

Secs1BorrowedIo(Secs1BorrowedIo &&) = delete

선언 위치: #include <pdcomm_secs1.hpp>

Secs1BorrowedIo

생성자

복사할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.

Secs1BorrowedIo(const Secs1BorrowedIo &) = delete

선언 위치: #include <pdcomm_secs1.hpp>

Secs1BorrowedIo

생성자

콜백 테이블을 채웁니다.

Secs1BorrowedIo(void *context, PdcommSecs1Read read, PdcommSecs1Write write) noexcept

선언 위치: #include <pdcomm_secs1.hpp>

여기서는 아무것도 검증하지 않습니다. 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

선언 위치: #include <pdcomm_secs1.hpp>

반환값

struct_size가 설정된 테이블입니다. 이 객체가 살아 있는 동안 유효합니다.

operator=

메서드

이동 대입할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.

Secs1BorrowedIo &operator=(Secs1BorrowedIo &&) = delete

선언 위치: #include <pdcomm_secs1.hpp>

operator=

메서드

복사 대입할 수 없습니다. 끝점이 이 바인딩을 주소로 참조합니다.

Secs1BorrowedIo &operator=(const Secs1BorrowedIo &) = delete

선언 위치: #include <pdcomm_secs1.hpp>