void draw() { setText(col_src_addr_, address_to_qstring(&src_addr_)); setText(col_src_port_, QString::number(src_port_)); setText(col_dst_addr_, address_to_qstring(&dst_addr_)); setText(col_dst_port_, QString::number(dst_port_)); setText(col_packets_, QString::number(num_packets_)); setText(col_packets_s_, QString::number(avg_pps_, 'f', 2)); setText(col_avg_bw_, bits_s_to_qstring(avg_bw_)); setText(col_max_bw_, bits_s_to_qstring(max_bw_)); setText(col_max_burst_, QString("%1 / %2ms").arg(top_burst_size_).arg(mcast_stream_burstint)); setText(col_burst_alarms_, QString::number(num_bursts_)); setText(col_max_buffers_, bits_s_to_qstring(top_buff_usage_)); setText(col_buffer_alarms_, QString::number(num_buff_alarms_)); }
ProtocolHierarchyTreeWidgetItem(QTreeWidgetItem *parent, ph_stats_node_t& ph_stats_node) : QTreeWidgetItem(parent), total_packets_(ph_stats_node.num_pkts_total), last_packets_(ph_stats_node.num_pkts_last), total_bytes_(ph_stats_node.num_bytes_total), last_bytes_(ph_stats_node.num_bytes_last), percent_packets_(0), percent_bytes_(0), bits_s_(0.0), end_bits_s_(0.0) { filter_name_ = ph_stats_node.hfinfo->abbrev; if (!parent) return; ph_stats_t *ph_stats = VariantPointer<ph_stats_t>::asPtr(parent->treeWidget()->invisibleRootItem()->data(0, Qt::UserRole)); if (!ph_stats || ph_stats->tot_packets < 1) return; percent_packets_ = total_packets_ * 100.0 / ph_stats->tot_packets; percent_bytes_ = total_bytes_ * 100.0 / ph_stats->tot_bytes; double seconds = ph_stats->last_time - ph_stats->first_time; if (seconds > 0.0) { bits_s_ = total_bytes_ * 8.0 / seconds; end_bits_s_ = last_bytes_ * 8.0 / seconds; } setText(protocol_col_, ph_stats_node.hfinfo->name); setData(pct_packets_col_, Qt::UserRole, percent_packets_); setText(packets_col_, QString::number(total_packets_)); setData(pct_bytes_col_, Qt::UserRole, percent_bytes_); setText(bytes_col_, QString::number(total_bytes_)); setText(bandwidth_col_, seconds > 0.0 ? bits_s_to_qstring(bits_s_) : UTF8_EM_DASH); setText(end_packets_col_, QString::number(last_packets_)); setText(end_bytes_col_, QString::number(last_bytes_)); setText(end_bandwidth_col_, seconds > 0.0 ? bits_s_to_qstring(end_bits_s_) : UTF8_EM_DASH); }