diff options
author | Ahmad Fatoum <ahmad@a3f.at> | 2017-04-15 15:59:52 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2017-06-01 10:18:45 +0000 |
commit | 561be48f40295cc3d52376a33d017f10bd41eef0 (patch) | |
tree | f825b82b48c2db48e175824fd41f9e126874dc3b /epan/dissectors/Makefile.am | |
parent | 23a4a742e4df5b7888398304a65c0f6539952bb0 (diff) |
Add interval array data structure, with growable intervals
A sorted array keyed by intervals
You keep inserting items, then sort the array.
sorting also compacts items that compare equal into one and adjusts
the interval accordingly. find uses binary search to find the item
This is particularly useful, if you got many similar items,
e.g. ObjectMapping subindices in the XDD. XDDs can be upward of
25k lines long with much duplication (253 subindices having the same
content).
Interval Trees wouldn't work, because they didn't allow expanding
existing intervals. Using an array instead of a tree, additionally offers
a possible performance advantage, but it's not that critical here,
as finding should only happen in the async frames
There's room for optimization in the creation process of the array,
but it doesn't matter much, as they aren't created frequently.
Finding speed is what matters for the use case of parsing EDS
and XDD files
Change-Id: Iaaddc90059f0e49b456774a111d8d42452b90cf9
Reviewed-on: https://code.wireshark.org/review/21111
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'epan/dissectors/Makefile.am')
-rw-r--r-- | epan/dissectors/Makefile.am | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/epan/dissectors/Makefile.am b/epan/dissectors/Makefile.am index 5f49065059..ad9f8401a6 100644 --- a/epan/dissectors/Makefile.am +++ b/epan/dissectors/Makefile.am @@ -560,6 +560,7 @@ DISSECTOR_SRC = \ packet-enrp.c \ packet-enttec.c \ packet-epl.c \ + packet-epl-profile-parser.c \ packet-epl_v1.c \ packet-epmd.c \ packet-epon.c \ @@ -1543,6 +1544,7 @@ DISSECTOR_INCLUDES = \ packet-eapol.h \ packet-edonkey.h \ packet-eigrp.h \ + packet-epl.h \ packet-epmd.h \ packet-ess.h \ packet-eth.h \ |