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

pdcomm_tcp_select

함수

SELECTED 상태로 들어가기 위해 Select.req를 보냅니다.

PdcommStatus pdcomm_tcp_select(PdcommTcpEndpoint *endpoint, PdcommTcpToken *out_token)

선언 위치: #include <pdcomm_tcp.h>

능동 엔드포인트는 연결할 때마다 이미 Select.req를 자동으로 보냅니다. 이 호출은 Deselect나 거부된 선택 이후 다시 선택할 때 사용합니다. 성공하면 엔드포인트가 #PDCOMM_TCP_SELECTED 상태가 되며, 이는 #PDCOMM_TCP_STATE_CHANGED 이벤트로 보고됩니다. 실패하면 반환된 토큰에 대해 #PDCOMM_TCP_FAILED 이벤트가 생성됩니다(예: #PDCOMM_TCP_SELECT_STATUS 또는 #PDCOMM_TCP_T6_TIMEOUT).

매개변수

이름설명
endpoint#PDCOMM_TCP_NOT_SELECTED 상태인 유효한 엔드포인트입니다.
out_token제어 트랜잭션 토큰을 받습니다. 실패하면 항상 모두 0입니다. NULL이 아니어야 합니다.

반환값

Select.req를 큐에 넣었으면 #PDCOMM_OK를 반환합니다. out_token 또는 endpoint가 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 NOT SELECTED 상태가 아니면 #PDCOMM_INVALID_STATE를 반환합니다. Select가 이미 진행 중이거나, 모든 트랜잭션 슬롯이 사용 중이거나, 준비된 이벤트(staged event)가 있거나, 큐가 가득 찼거나, 엔드포인트가 정지하는 중이면 #PDCOMM_BACKPRESSURE를 반환합니다. 시스템 바이트가 소진되면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. #PDCOMM_POISONED를 반환할 수도 있습니다.