預設情況下,每當一個待處理事件變為活動狀態(因為它的檔案描述符已準備好讀取或寫入,或者因為它的逾時到期),它會在其回呼執行之前變為非待處理狀態。因此,要再次使事件處於待處理狀態,可以在回呼函式內再次呼叫 Event::add()。
但是,如果在事件上設定了 Event::PERSIST
旗標,則該事件是*持續性的*。這表示即使在其回呼被啟動時,事件仍保持待處理狀態。可以呼叫 Event::del() 方法使其變為非待處理狀態。
持續性事件的逾時會在事件的回呼執行時重置。因此,如果一個事件的旗標為 Event::READ
|
Event::PERSIST
且逾時為五秒,則該事件將會變為活動狀態
當 socket 或文件描述符可供讀取時。
自事件上次變為活動狀態以來,每經過五秒。