//-----------------------------------------------------------------------
//
// Copyright (c) Outercurve Foundation. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.Messaging.Bindings {
using System;
///
/// The contract a message that has an allowable time window for processing must implement.
///
///
/// All expiring messages must also be signed to prevent tampering with the creation date.
///
internal interface IExpiringProtocolMessage : IProtocolMessage {
///
/// Gets or sets the UTC date/time the message was originally sent onto the network.
///
///
/// The property setter should ensure a UTC date/time,
/// and throw an exception if this is not possible.
///
///
/// Thrown when a DateTime that cannot be converted to UTC is set.
///
DateTime UtcCreationDate { get; set; }
}
}