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

pdcomm_gem_spool_purge

함수

스풀된 모든 메시지를 로컬에서 제거합니다.

PdcommStatus pdcomm_gem_spool_purge(PdcommTcpEndpoint *endpoint, PdcommGemSpoolWriteInfo *info)

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

엔드포인트가 정지되어 있어야 하며, 전송 실행(transmission run), 진행 중인 전달, 대기 중인 디큐(dequeue)가 없어야 합니다. 삭제(purge)하면 스풀링이 비활성화되고 시작 시각과 가득 찬(full) 시각이 지워집니다. affected_count는 제거된 엔트리 수를 보고합니다.

매개변수

이름설명
endpoint장비 스풀이 있는 Stopped 상태의 엔드포인트입니다.
info결과 유형(#PDCOMM_GEM_SPOOL_PURGED)을 받습니다. NULL이 아니어야 합니다.

반환값

변경을 설치하면 #PDCOMM_OK 또는 #PDCOMM_SPOOL_UNCONFIRMED를 반환합니다. info 또는 endpoint가 NULL이거나 info가 너무 작으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 정지 상태가 아니거나 장비 스풀이 없으면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 TCP 이벤트(staged event)가 대기 중이거나, 전달, 디큐 또는 전송 실행이 대기 중이면 #PDCOMM_BACKPRESSURE를 반환합니다. #PDCOMM_IO_ERROR 같은 영속화(persistence) 오류를 반환할 수 있으며, 이때 스풀은 바뀌지 않습니다. 패닉(panic)을 격리한 뒤에는 #PDCOMM_POISONED를 반환합니다.