["enabled" => int, "disabled" => int], * "delay" => ["enabled" => int, "disabled" => int], * "repeat" => ["enabled" => int, "disabled" => int], * "on_readable" => ["enabled" => int, "disabled" => int], * "on_writable" => ["enabled" => int, "disabled" => int], * "on_signal" => ["enabled" => int, "disabled" => int], * "watchers" => ["referenced" => int, "unreferenced" => int], * ]; * * Implementations MAY optionally add more information in the array but at minimum the above key => value format * MUST always be provided. * * @return array */ public function info(); /** * Get the underlying loop handle. * * Example: the uv_loop resource for libuv or the EvLoop object for libev or null for a native driver * * Note: This function is *not* exposed in the Loop class; users shall access it directly on the respective loop * instance. * * @return null|object|resource The loop handle the event loop operates on. Null if there is none. */ public function getHandle(); }