///////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: HalTimer.cs
//
using System;
using System.Runtime.CompilerServices;
namespace Microsoft.Singularity.Hal
{
public abstract class HalTimer
{
///
/// Maximum value accepted by SetNextInterrupt.
///
public abstract TimeSpan MaxInterruptInterval {
[NoHeapAllocation]
get;
}
///
/// Minimum value accepted by SetNextInterrupt.
///
public abstract TimeSpan MinInterruptInterval {
[NoHeapAllocation]
get;
}
///
/// Clear interrupt associated with timer.
///
[NoHeapAllocation]
public abstract void ClearInterrupt();
///
/// Set relative time of next interrupt.
///
///
/// Relative time of next interrupt.
/// The time should be with the range between from SetNextInterruptMinDelta to
/// SetNextInterruptMaxDelta.
///
[NoHeapAllocation]
public abstract void SetNextInterrupt(TimeSpan delta);
}
} // namespace Microsoft.Singularity.Hal