namespace ChadSoft.Utils.Pingy { using System; using System.Net; public struct PingResponse { private DateTime _Timestamp; public DateTime Timestamp { get { return _Timestamp; } } private PingStatus _Status; public PingStatus Status { get { return _Status; } set { _Status = value; } } private string _Message; public string Message { get { return _Message; } set { _Message = value; } } private int _TTFB; public int TTFB { get { return _TTFB; } internal set { _TTFB = value; } } private int _TTLB; public int TTLB { get { return _TTLB; } internal set { _TTLB = value; } } private string _MD5CheckSum; public string MD5CheckSum { get { return _MD5CheckSum; } } public PingResponse(PingStatus status) : this(DateTime.Now, status, null) { } public PingResponse(Exception ex) : this(DateTime.Now, PingStatus.Error, ex.Message) { } public PingResponse(PingStatus status, string message) : this(DateTime.Now, status, message) { } public PingResponse(DateTime timestamp, PingStatus status, string message) { _Timestamp = timestamp; _Status = status; _Message = message; _TTFB = 0; _TTLB = 0; _MD5CheckSum = null; } public void CalculateChecksum(System.IO.Stream stream) { _MD5CheckSum = ChadSoft.EncryptionUtility.ComputeHash(stream); } } }