|
I am writing a dissector for a protocol where a packet
contains several different kinds of internal msgs and has 0-N instances of each
kind of internal message. I am trying to figure out the best way to set up the
etts. (I am new to writing dissectors so maybe I am thinking about it all
wrong) So within a packet there are message of Type (A,B,C) Just for a simple example A has 2 ints, B has 2 floats, C
has one int In this example packet we receive 2 A’s, 1 Bs, and 0 C’s
(keep in mind the next packet might be 5 A’s ,0 B’s , 3C’s) So a given tree might look like this Protocol +-A | +-A[0] | | + -int 1 = 1 | | +- int 2 = 2 | +-A[1] | | + -int 1 = 3 | | +- int 2 = 4 +-B +-B[0] +- float 1 = 5.0 +- float 2 = 6.0 Keep in mind the index for A and B are irrelevant to the
data inside them…so int 1 and int 2 might form an “ID” for
the A data and float 1 might form an “ID” for the B data. Sorry to talk in abstract I am just trying to not muddle the
problem by bringing in my particular Object Model. For now I have an ett value for A, and for B so if you
expand just A[0] as you click the other packets youll expand all A[*] trees. It’s
a little ugly especially when lists get long. Does any one know of a good
example that solves this kind of problem? Am I doing something really dumb? Thanks, Jim |