pdcomm_secs1_start
함수
생성되었거나 정지된 엔드포인트를 시작합니다.
PdcommStatus pdcomm_secs1_start(PdcommSecs1Endpoint *endpoint)시작은 I/O를 하지 않습니다. pdcomm_secs1_stop() 뒤에 시작하면 새 프로토콜 런타임을 만들고, 세대를 증가시키며, 제출 번호를 1부터 다시 매깁니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | 시작할 엔드포인트입니다. |
반환값
성공하면 #PDCOMM_OK를 반환합니다. endpoint가 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 준비된 이벤트(staged event)를 먼저 가져와야 하면 #PDCOMM_BACKPRESSURE를 반환합니다. 엔드포인트가 이미 시작되었거나, 다른 스레드에서의 호출, 동시 호출, 재진입 호출이면 #PDCOMM_INVALID_STATE를 반환합니다. 세대 카운터가 소진되면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 새 런타임을 할당할 수 없으면 #PDCOMM_ALLOCATION_FAILED를 반환합니다. secs-gem 모듈을 허가하는 라이선스가 없으면 #PDCOMM_LICENSE_REQUIRED를 반환하며 엔드포인트는 시작되지 않은 상태로 남습니다. 엔드포인트가 오염(poisoned) 상태이면 #PDCOMM_POISONED를 반환합니다.
참고
- 스레드 안전성: 생성한 스레드에서만 호출합니다.