mirror of
https://github.com/ncblakely/GiantsTools
synced 2024-12-26 17:17:22 +01:00
34 lines
923 B
C#
34 lines
923 B
C#
namespace Giants.Services
|
|
{
|
|
using System;
|
|
|
|
public class ServerInfo : DataContract.V1.ServerInfo, IIdentifiable
|
|
{
|
|
public string id => this.HostIpAddress;
|
|
|
|
public string DocumentType => nameof(ServerInfo);
|
|
|
|
public string HostIpAddress { get; set; }
|
|
|
|
public DateTime LastHeartbeat { get; set; }
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
return obj is ServerInfo info &&
|
|
base.Equals(obj) &&
|
|
this.HostIpAddress == info.HostIpAddress &&
|
|
this.DocumentType == info.DocumentType;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
HashCode hash = new HashCode();
|
|
hash.Add(base.GetHashCode());
|
|
hash.Add(this.id);
|
|
hash.Add(this.HostIpAddress);
|
|
hash.Add(this.DocumentType);
|
|
return hash.ToHashCode();
|
|
}
|
|
}
|
|
}
|