pdcomm_gem_equipment_operator_online
함수
S1F1을 보내 운영자 주도 ON-LINE 시도를 시작합니다.
PdcommStatus pdcomm_gem_equipment_operator_online(PdcommTcpEndpoint *endpoint, PdcommTcpToken *out_token)HSMS 세션이 SELECTED 상태이고 #PDCOMM_GEM_EQUIPMENT_OFFLINE일 때만 허용됩니다. 제어 상태는 #PDCOMM_GEM_ATTEMPT_ONLINE으로 바뀝니다. 호스트가 S1F2(빈 List)로 응답하면 pdcomm_gem_handle_event()가 #PDCOMM_GEM_ONLINE_ACCEPTED를 보고하고 제어 상태는 온라인 모드를 따릅니다. 시간 초과(timeout), 중단, 잘못된 응답, 연결 해제가 발생하면 제어 상태는 #PDCOMM_GEM_HOST_OFFLINE으로 바뀝니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | 장비 역할을 가진 유효한 TCP 엔드포인트입니다. |
out_token | 트랜잭션 토큰을 받습니다. 실패하면 모두 0입니다. NULL이 아니어야 합니다. |
반환값
S1F1을 큐에 넣었으면 #PDCOMM_OK를 반환합니다. endpoint 또는 out_token이 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트에 장비 역할이 없거나, 세션이 SELECTED 상태가 아니거나, 제어 상태가 #PDCOMM_GEM_EQUIPMENT_OFFLINE이 아니면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 TCP 이벤트(staged event)가 있거나, 대기 슬롯 32개를 모두 사용 중이거나, TCP 송신 큐가 가득 차면 #PDCOMM_BACKPRESSURE를 반환합니다. 메시지를 큐에 넣을 수 없으면 #PDCOMM_ALLOCATION_FAILED 또는 그 밖의 TCP 상태 코드를 반환합니다. 엔드포인트가 오염(poisoned) 상태이면 #PDCOMM_POISONED를 반환합니다.
참고
- 이 요청의 결과는 요청 종류 #PDCOMM_GEM_OPERATOR_ONLINE을 보고합니다.