diff options
Diffstat (limited to 'src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs')
-rw-r--r-- | src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs b/src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs new file mode 100644 index 0000000..fc43ae6 --- /dev/null +++ b/src/DotNetOpenAuth.Core/Messaging/Bindings/IExpiringProtocolMessage.cs @@ -0,0 +1,29 @@ +//----------------------------------------------------------------------- +// <copyright file="IExpiringProtocolMessage.cs" company="Andrew Arnott"> +// Copyright (c) Andrew Arnott. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.Messaging.Bindings { + using System; + + /// <summary> + /// The contract a message that has an allowable time window for processing must implement. + /// </summary> + /// <remarks> + /// All expiring messages must also be signed to prevent tampering with the creation date. + /// </remarks> + internal interface IExpiringProtocolMessage : IProtocolMessage { + /// <summary> + /// Gets or sets the UTC date/time the message was originally sent onto the network. + /// </summary> + /// <remarks> + /// The property setter should ensure a UTC date/time, + /// and throw an exception if this is not possible. + /// </remarks> + /// <exception cref="ArgumentException"> + /// Thrown when a DateTime that cannot be converted to UTC is set. + /// </exception> + DateTime UtcCreationDate { get; set; } + } +} |