Ethereal-dev: [Ethereal-dev] Ethereal optimizations (proposals)

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Biot Olivier <Olivier.Biot@xxxxxxxxxxx>
Date: Mon, 1 Dec 2003 17:57:48 +0100
Hi List,

Today the GUI code always operates on *all* packets, while in many
situations it would suffice to operate on the displayed packets only. For
this reason, I have some ideas I want to share:

1. Colorize only the *visible* packets (even with a defined dfilter). This
should be fairly simple to achieve, as we can compute the number of
displayable rows at any time.
2. Eliminate the coloring bug when unmarking a marked frame (e.g., by
colorizing this single frame's entry).
3. Compute the display filter in the background (required if we want a
correct slider size).
4. Investigate the need of the potentially expensive GtkCList items;
possibly replace the rows with colorable labels and keep the column data in
linked lists. Should we use a balanced tree list instead of a linear list?

Then some feature requests that are a consequence of digging in
moderately-sized capture files with lots of TCP streams:

5. Use a dynamic dfilter buffer size.
6. Define shorthand dfilter expressions for common constructs (like "follow
TCP stream" where we may prefer to refer to a "session cookie" or something
like "tcp._session == 1" in the dfilter instead of the bulky IP address and
port expression). Maybe we can expand the dfilter language to allow "select
the 3rd occurrence of X" to achieve the same goal?

Is the Ethereal usage of the Gtk code explained/described somewhere, or
should I read all code in the gtk/ subdirectory beforehand?

Regards,

Olivier