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

pdcomm_tcp_linktest

함수

연결이 살아 있는지 확인하기 위해 Linktest.req를 보냅니다.

PdcommStatus pdcomm_tcp_linktest(PdcommTcpEndpoint *endpoint, PdcommTcpToken *out_token)

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

Linktest.rsp를 받으면 이벤트를 만들지 않고 토큰만 대기 상태에서 벗어납니다(pdcomm_tcp_is_pending() 참고). 응답이 없으면 #PDCOMM_TCP_T6_TIMEOUT과 함께 #PDCOMM_TCP_FAILED 이벤트가 생성되고 연결이 닫힙니다. 한 번에 하나의 Linktest만 진행할 수 있습니다.

매개변수

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

반환값

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