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