/// <summary> /// 根据不同策略对系统排序 /// </summary> /// <param name="type">Qos 或者 基于负载</param> /// <returns>排好序的仿真序列</returns> public List<NetWorkType> Sort(AllocateUserType type) { List<NetWorkType> res = new List<NetWorkType>(); switch (type) { case AllocateUserType.QoS: { res = QosSort(); break; } default: { List<float> loadList = GetNetWorkLoad(m_NetWorkTypeList); res = SortNetWork(loadList, m_NetWorkTypeList); break; } } return res; }
/// <summary> /// 构造函数 /// </summary> /// <param name="load">负载查询字典</param> /// <param name="p_SnapshotContext">快照上下文</param> /// <param name="type">分配用户策略</param> public AllocateUser(List<NetWorkType> types, Dictionary<NetWorkType, ILoadStatus> load, SnapshotContext p_SnapshotContext, AllocateUserType type, Dictionary<NetVersion, NetWorkType> NetVersionToTypeDic) { m_Types = types; m_Load = load; m_SnapShotContext = p_SnapshotContext; m_Type = type; InitUserDic(); m_NetVersionToTypeDic = NetVersionToTypeDic; }