Ethereal-dev: Re: [Ethereal-dev] RFC: add support for multiple open captures

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

From: "Olivier Biot" <ethereal@xxxxxxxxxx>
Date: Sat, 21 Feb 2004 11:25:01 +0100
From: spamcontrol2 at comcast.net


| On Feb 16, 2004, at 1:13 PM, Ulf Lamping wrote:
|
| > Biot Olivier wrote:
|
| >> Hi list,
|
| >> As I understood from some mails on the list, some people are
looking for
| >> development work :) I think one big accomplishment would be to
support
| >> multiple open captures. This will require a rethink of the global
variables
| >> used throughout the code. (maybe we want a file declaring all
global
| >> variables for *any* Ethereal UI, or say the Ethereal core).
|
| > Do you think of a multiple document interface (MDI) window?
|
| I think that multiple open captures could be implemented with
several very nice methods other than MDI.

Visualizing multiple open captures is best done with one window per
capture. I don't like the MDI of ancient Windows and it looks like
even the people from the northeast of the USA abandoned using their
own MDI in their known office applications.

[explanation of 3 modes skipped]

| I think that MDI is terrible for Human Interface reasons, but I
think that an intelligent combination of
| multiple windows/tabbed windows are a very good way to manage
multiple, related displays of
| information.

Agreed. However the MDI discussion implies that Ethereal supports
MT-safe dissection, which it currently doesn't. Hence the following
discussion...

The most obvious place to store dissection state is in the cfile
structure of a capture file, I think. Packet dissectors provide lots
of global variables, most of which are constants hence MT-safe. Maybe
we need some registration mechanism to register a state-influencing
variable to the protocol state of the capture file.

Another item is the exception handler. I don't know if it can be used
in a MT-safe manner (I fear the answer is NO). Maybe we can circumvent
the exception handler and replace it with a call-back mechanism.
Regarding the cost of the call-back mechanism versus the existing
exception handler, I think they are comparable in cost.

Am I still missing some major issues?

Regards,

Olivier