아래는 Javawork님이 구글 그룹스에 올린 글입니다.
(  http://groups.google.co.kr/group/halfnetwork?hl=ko )

AddTimer 메소드를 사용하면 타이머 기능을 사용할 수 있습니다.
bool AddTimer(uint32 timerID, uint32 interval, uint32 start = 0);
interval은 타이머의 주기(ms), start는 최초에 몇 ms후에 불릴지를 결정하는 인자 입니다.
start는 스킵하면 interval과 같은 값으로 설정됩니다.

예를 들어 아래와 같이 설정하면
NetworkInstance->AddTimer(100, 2000);
eMH_Timer 값이 2초에 한번씩 Queue에 넣어집니다.

TimerID는 postee.stream_id값으로 식별이 가능합니다.
특정 QueueID로만 PopMessage(혹은 PopAllMessage)를 하고 있으면 타이머 이벤트를 받을수 없습니다.

* QueueID 인자 없는 PopMessage(혹은 PopAllMessage) 함수를 사용하거나
* TimerQueueID로 PopMessage(혹은 PopAllMessage) 를 해야

타이머 이벤트를 받을수 있습니다.
TestServer 예제를 참고하시면 사용예가 있습니다.
또 하나의 변경 사항은 예전에는 QueueID 인자 없는 PopAllMessage를 사용하면
Queue에서 가져올게 없어도 cpu 사용률이 증가하는 현상이 있었는데 이번에 수정되었습니다.
여러개의 Queue를 하나의 이벤트 객체를 통해 감시 할수 있는 코드를 추가했기 때문입니다.
저작자 표시
신고
by 흥배 2010.06.13 19:56

티스토리 툴바