Event 이벤트 지속성

기본적으로 보류 중인 이벤트가 활성화될 때마다(해당 파일 설명자가 읽거나 쓸 준비가 되었거나 타임아웃이 만료되었기 때문에) 콜백이 실행되기 직전에 보류 중이 아닙니다. 따라서 이벤트를 다시 보류 상태로 만들려면 콜백 함수 내부에서 Event::add()를 다시 호출할 수 있습니다.

그러나 Event::PERSIST 플래그가 이벤트에 설정된 경우 이벤트는 지속적입니다. 즉, 콜백이 활성화된 경우에도 이벤트가 보류 상태로 유지됩니다. Event::del() 메서드를 호출하여 보류 중이 아닌 상태로 만들 수 있습니다.

지속 이벤트의 시간 초과는 이벤트의 콜백이 실행될 때마다 재설정됩니다. 따라서 플래그가 있는 이벤트가 있는 경우 Event::READ | Event::PERSIST 및 5초의 시간 초과가 발생하면 이벤트가 활성화됩니다.

  1. 소켓 또는 파일 설명자가 읽을 준비가 될 때마다.
  2. 이벤트가 마지막으로 활성화된 후 5초가 경과할 때마다.

참조 » Libevent를 사용한 빠른 휴대용 비차단 네트워크 프로그래밍, 이벤트 지속성 정보