본문 바로가기

James Server v3/IMAP

명령어 무한루프 패턴

Client -> C

IMAP Server-> E

 

1. C -> E : UID 가 100 번인 메시지의 보낸 편지함으로 이동시켜라.

2. E -> C : 완료

3. C -> E : 받은 편지함의 UID 가 100번인 메시지의 전체 메시지를 보내줘

4. E -> C : 없는데? 이미 보낸 편지함으로 이동했자나...

                0 건으로 리턴.

-- 반복 구간 --

3. C -> E : 받은 편지함의 UID 가 100번인 메시지의 전체 메시지를 보내줘

4. E -> C : 없는데? 이미 보낸 편지함으로 이동했자나...

                0 건으로 리턴.

3. C -> E : 받은 편지함의 UID 가 100번인 메시지의 전체 메시지를 보내줘

4. E -> C : 없는데? 이미 보낸 편지함으로 이동했자나...

                0 건으로 리턴.

...

무한 루프.

-------------

 

C 가 데이타를 요청시 Exception 을 던져주지 않으면 메시지가 가지 않은 걸로 판단하여 

 

다른 행동을 하기 전까지 무한으로 메시지를 요청합니다.

 

ㅁ 결론 

 - 어떠한 행동을 요청하였을 경우 결과 데이타에 대한 최소~최대 데이타 검증 테스트를 꼭 해야 합니다.

   클라이언트가 어떤 행동을 할지 모름.