/// <summary>
/// Tells the runtime to do any idle processing it need to do.
/// </summary>
/// <remarks>
/// <para>
/// If idle processing has been enabled for the current runtime, calling <c>Idle</c> will
/// inform the current runtime that the host is idle and that the runtime can perform
/// memory cleanup tasks.
/// </para>
/// <para>
/// <c>Idle</c> will also return the number of system ticks until there will be more idle work
/// for the runtime to do. Calling <c>Idle</c> before this number of ticks has passed will do
/// no work.
/// </para>
/// <para>
/// Requires an active script context.
/// </para>
/// </remarks>
/// <returns>
/// The next system tick when there will be more idle work to do. Returns the
/// maximum number of ticks if there no upcoming idle work to do.
/// </returns>
public static uint Idle()
{
uint ticks;
Native.ThrowIfError(Native.JsIdle(out ticks));
return(ticks);
}