public Host(
Guid sessionID,
Guid broadcastID,
IPEndPoint localEndPoint,
IPEndPoint globalEndPoint,
int relayCount,
int directCount,
bool isFirewalled,
bool isTracker,
bool isRelayFull,
bool isDirectFull,
bool isReceiving,
bool isControlFull,
IEnumerable<string> extensions,
IAtomCollection extra)
{
this.SessionID = sessionID;
this.BroadcastID = broadcastID;
this.LocalEndPoint = localEndPoint;
this.GlobalEndPoint = globalEndPoint;
this.RelayCount = relayCount;
this.DirectCount = directCount;
this.IsFirewalled = isFirewalled;
this.IsTracker = isTracker;
this.IsRelayFull = isRelayFull;
this.IsDirectFull = isDirectFull;
this.IsReceiving = isReceiving;
this.IsControlFull = isControlFull;
this.Extensions = new List<string>(extensions).AsReadOnly();
this.Extra = (new AtomCollection(extra)).AsReadOnly();
this.LastUpdated = Environment.TickCount;
}
}