/// <summary> /// Magic number sent by the host to the client during the handshake. /// Derived from the binary timestamp to avoid mixing binary versions, /// Is64BitProcess to avoid mixing bitness, and enableNodeReuse to /// ensure that a /nr:false build doesn't reuse clients left over from /// a prior /nr:true build. /// </summary> /// <param name="enableNodeReuse">Is reuse of build nodes allowed?</param> internal static long GetHostHandshake(bool enableNodeReuse) { long baseHandshake = Constants.AssemblyTimestamp; baseHandshake = baseHandshake * 17 + EnvironmentUtilities.Is64BitProcess.GetHashCode(); baseHandshake = baseHandshake * 17 + enableNodeReuse.GetHashCode(); return(CommunicationsUtilities.GenerateHostHandshakeFromBase(baseHandshake, GetClientHandshake())); }