⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mst_handler.py

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 PY
字号:
#!/usr/bin/pythonimport timedef mst_handler(new_node_dict, nodedict):    if nodedict.has_key('packets'):        nodedict['packets'] = nodedict['packets'] + 1    else:        nodedict['packets'] = 1        if nodedict.has_key('first_tv_h'):        tv = time.time ()        tv = int (tv)        total_time = tv - nodedict['first_tv_h']        if total_time > 0:            packets_s = nodedict['packets'] / total_time            nodedict['pkt/s'] = packets_s            if nodedict.has_key('dropped'):                dropped_s = nodedict['dropped'] / total_time                nodedict['drp/s'] = dropped_s    else:        tv = time.time ()        tv = int (tv)        nodedict['first_tv_h'] = tv        if nodedict.has_key('seq'):        oldseq = nodedict['seq']        seq = new_node_dict['seq']        if seq - oldseq - 1 > 0:            try:                nodedict['dropped'] = nodedict['dropped'] + 1            except:                nodedict['dropped'] = 1                        def mst_tally(nodelist):    average_dict = {}    total_dict = {}    nodecount = 0    packetcount = 0    droppedcount = 0    pkts_scount = 0    drp_scount = 0    first_tv = 0    for nodeid in nodelist:        if nodeid == 'average':            continue        if nodeid == 'total':            continue        nodecount = nodecount + 1        node = nodelist[nodeid]['9']        if first_tv == 0:            first_tv = node['first_tv_h']        else:            if node['first_tv_h'] < first_tv:                first_tv = node['first_tv_h']        packetcount = packetcount + node['packets']        if node.has_key('pkt/s'):            pkts_scount = pkts_scount + node['pkt/s']        if node.has_key('dropped'):            droppedcount = droppedcount + node['dropped']        if node.has_key('drp/s'):            drp_scount = drp_scount + node['drp/s']            tv = time.time ()    tv = int (tv)    total_time = tv - first_tv    if total_time == 0:                        return    if nodecount == 0:        return        average_dict = {'9':{ 'packets': packetcount/nodecount, 'dropped': droppedcount/total_time, 'pkt/s': pkts_scount / nodecount, 'drp/s': drp_scount/nodecount}}    total_dict = {'9':{ 'packets': packetcount, 'dropped': droppedcount, 'pkt/s': packetcount/total_time, 'drp/s': droppedcount/total_time}}    nodelist['average'] = average_dict    nodelist['total'] = total_dict

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -