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

pdcomm_tcp_start

함수

새 연결 세대(generation)를 시작합니다.

PdcommStatus pdcomm_tcp_start(PdcommTcpEndpoint *endpoint)

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

엔드포인트는 세대를 증가시키고 #PDCOMM_TCP_CONNECTING(능동) 또는 #PDCOMM_TCP_LISTENING(수동) 상태가 됩니다. 이 함수에서는 연결하지 않으며, 연결(connect)이나 수락(accept)은 pdcomm_tcp_poll()이 수행합니다. 정지한 뒤에는 수동 엔드포인트가 수신 대기 소켓을 다시 바인딩합니다.

매개변수

이름설명
endpoint유효한 엔드포인트입니다.

반환값

성공하면 #PDCOMM_OK를 반환합니다. endpoint가 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 정지 상태가 아니거나 아직 이전 연결을 닫는 중이면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 이벤트(staged event)가 있거나(pdcomm_tcp_next_event() 참고) 이벤트 큐가 가득 차면 #PDCOMM_BACKPRESSURE를 반환합니다. 수동 소켓을 다시 바인딩할 수 없으면 #PDCOMM_IO_ERROR를 반환합니다. 엔드포인트가 정지 상태이고 secs-gem 모듈을 허가하는 라이선스가 없으면 #PDCOMM_LICENSE_REQUIRED를 반환하며 엔드포인트는 정지 상태로 남습니다. #PDCOMM_POISONED를 반환할 수도 있습니다.

참고

  • GEM 역할이 구성되어 있으면 이 호출은 GEM 상태도 갱신합니다.