diff options
author | Balint Reczey <balint@balintreczey.hu> | 2014-06-22 12:53:48 -0700 |
---|---|---|
committer | Balint Reczey <balint@balintreczey.hu> | 2014-06-27 08:55:11 +0000 |
commit | a67b7f5b5c563e54ca630370cdf7f696e4ce59a5 (patch) | |
tree | f1af43d810fa6746f8fb60136048757d1d6c3c78 /ui/qt/lbm_uimflow_dialog.cpp | |
parent | 9ef47ae8c82abc1edc83408b4c2a93aaff40e282 (diff) | |
download | wireshark-a67b7f5b5c563e54ca630370cdf7f696e4ce59a5.tar.gz |
Use GQueue for generating statistics
This makes reversing the list back and forth to keep adding data
at O(n) complexity obsolete.
Bug: 9696
Change-Id: Ice77328b8f6c5bf72bbfcfd82e08d09d4f986d3f
Reviewed-on: https://code.wireshark.org/review/2571
Reviewed-by: Balint Reczey <balint@balintreczey.hu>
Tested-by: Balint Reczey <balint@balintreczey.hu>
Diffstat (limited to 'ui/qt/lbm_uimflow_dialog.cpp')
-rw-r--r-- | ui/qt/lbm_uimflow_dialog.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/ui/qt/lbm_uimflow_dialog.cpp b/ui/qt/lbm_uimflow_dialog.cpp index faff6d8a26..8b04651766 100644 --- a/ui/qt/lbm_uimflow_dialog.cpp +++ b/ui/qt/lbm_uimflow_dialog.cpp @@ -152,7 +152,7 @@ static gboolean lbm_uimflow_add_to_graph(seq_analysis_info_t * seq_info, packet_ item->conv_num = (guint16)LBM_CHANNEL_ID(stream_info->channel); item->display = TRUE; item->line_style = 1; - seq_info->list = g_list_prepend(seq_info->list, (gpointer)item); + g_queue_push_tail(seq_info->items, item); return (TRUE); } @@ -178,11 +178,10 @@ static void lbm_uimflow_get_analysis(capture_file * cfile, seq_analysis_info_t * register_tap_listener("lbm_uim", (void *)seq_info, NULL, TL_REQUIRES_COLUMNS, NULL, lbm_uimflow_tap_packet, NULL); cf_retap_packets(cfile); - seq_info->list = g_list_reverse(seq_info->list); remove_tap_listener((void *)seq_info); /* Fill in the timestamps. */ - list = g_list_first(seq_info->list); + list = g_queue_peek_nth_link(seq_info->items, 0); while (list != NULL) { seq_analysis_item_t * seq_item = (seq_analysis_item_t *)list->data; @@ -506,7 +505,7 @@ void LBMUIMFlowDialog::fillDiagram(void) seq_analysis_info_t new_sa; new_sa = m_sequence_analysis; - new_sa.list = NULL; + new_sa.items = g_queue_new(); new_sa.ht = NULL; new_sa.num_nodes = 0; lbm_uimflow_get_analysis(m_capture_file, &new_sa); |