Commit fec00da5 by dongshufeng

little change

parent fda0317b
...@@ -79,7 +79,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 { ...@@ -79,7 +79,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
terminal_dev.insert(ids[0], ids[2]); terminal_dev.insert(ids[0], ids[2]);
} }
// 开始构建 // 开始构建
let mut switch_to_cn: HashMap<u64, u64> = HashMap::with_capacity(terminal_cn.len() / 2); let mut closed_switch_to_cn: HashMap<u64, u64> = HashMap::with_capacity(terminal_cn.len() / 2);
// 开始处理开关量 // 开始处理开关量
for m in meas { for m in meas {
if let Some(unit) = units.get(&m.point_id) { if let Some(unit) = units.get(&m.point_id) {
...@@ -88,7 +88,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 { ...@@ -88,7 +88,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
if let Some(cn_id) = terminal_cn.get(terminal_id) { if let Some(cn_id) = terminal_cn.get(terminal_id) {
if let Some(dev_id) = terminal_dev.get(terminal_id) { if let Some(dev_id) = terminal_dev.get(terminal_id) {
if m.get_value2() > 0 { if m.get_value2() > 0 {
switch_to_cn.insert(*dev_id, *cn_id); closed_switch_to_cn.insert(*dev_id, *cn_id);
} }
} }
} }
...@@ -103,7 +103,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 { ...@@ -103,7 +103,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
let cn2 = v[1]; let cn2 = v[1];
let dev_id = v[2]; let dev_id = v[2];
// switch with measure // switch with measure
if let Some(cn) = switch_to_cn.get(&dev_id) { if let Some(cn) = closed_switch_to_cn.get(&dev_id) {
if *cn == cn1 { if *cn == cn1 {
if let Some(tn) = cn_tn.get(cn) { if let Some(tn) = cn_tn.get(cn) {
cn_tn.insert(cn2, *tn); cn_tn.insert(cn2, *tn);
...@@ -173,7 +173,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 { ...@@ -173,7 +173,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
// build dev connection // build dev connection
let mut dev_csv = String::from("terminal,cn,tn,dev\n"); let mut dev_csv = String::from("terminal,cn,tn,dev\n");
for (terminal, dev) in terminal_dev { for (terminal, dev) in terminal_dev {
if switch_to_cn.contains_key(&dev) { if closed_switch_to_cn.contains_key(&dev) {
continue; continue;
} }
if let Some(cn) = terminal_cn.get(&terminal) { if let Some(cn) = terminal_cn.get(&terminal) {
......
...@@ -162,11 +162,11 @@ fn create_static_topo(island: &Island, prop_defs: &[PropDefine], defines: &HashM ...@@ -162,11 +162,11 @@ fn create_static_topo(island: &Island, prop_defs: &[PropDefine], defines: &HashM
break; break;
} }
let id1 = cn1.unwrap().id; let id1 = cn1.unwrap().id;
let id2 = cn1.unwrap().id; let id2 = cn2.unwrap().id;
let dev_id = edge.weight; let dev_id = edge.weight;
let mut dev_name = "".to_string(); let mut dev_name = "".to_string();
let mut dev_type = 0u16; let mut dev_type = 0u16;
let mut normal_open = false; let mut normal_open = "".to_string();
if let Some(rsr) = island.resources.get(&dev_id) { if let Some(rsr) = island.resources.get(&dev_id) {
dev_name = get_csv_str(&rsr.name); dev_name = get_csv_str(&rsr.name);
if let Some(def) = defines.get(&rsr.define_id) { if let Some(def) = defines.get(&rsr.define_id) {
...@@ -174,7 +174,7 @@ fn create_static_topo(island: &Island, prop_defs: &[PropDefine], defines: &HashM ...@@ -174,7 +174,7 @@ fn create_static_topo(island: &Island, prop_defs: &[PropDefine], defines: &HashM
if def.rsr_type == PsRsrType::Switch { if def.rsr_type == PsRsrType::Switch {
let v = rsr.get_prop_value2(NORMAL_OPEN, &island.prop_groups, &prop_defines); let v = rsr.get_prop_value2(NORMAL_OPEN, &island.prop_groups, &prop_defines);
if let Some(b) = v.get_bool() { if let Some(b) = v.get_bool() {
normal_open = b; normal_open = b.to_string();
} }
} }
} }
...@@ -188,7 +188,7 @@ fn create_static_topo(island: &Island, prop_defs: &[PropDefine], defines: &HashM ...@@ -188,7 +188,7 @@ fn create_static_topo(island: &Island, prop_defs: &[PropDefine], defines: &HashM
Field::new("id", DataType::UInt64, false), Field::new("id", DataType::UInt64, false),
// if using uint16, will get: unsupported data type when reading CSV: u16 // if using uint16, will get: unsupported data type when reading CSV: u16
Field::new("type", DataType::UInt32, false), Field::new("type", DataType::UInt32, false),
Field::new("open", DataType::Boolean, false), Field::new("open", DataType::Boolean, true),
Field::new("name", DataType::Utf8, true), Field::new("name", DataType::Utf8, true),
])); ]));
} }
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论