Ethereal-dev: Re: [ethereal-dev] Why are we doing a conversation_init in rescan_packets in fil

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

From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Thu, 24 Aug 2000 00:03:04 -0700
On Wed, Aug 23, 2000 at 11:50:58PM -0700, Guy Harris wrote:
> I'm not sure why having to figure stuff out again on a subsequent pass
> through the file is a problem, however, other than a performance
> problem, as long as, on the subsequent pass, every single packet gets
> fed to the dissectors, in the same order that they got fed to the
> dissectors in the previous pass; unless a preference changed, the
> dissector should behave the same on subsequent passes (and, as per the
> above, if a preference changed, the dissector might not behave the same
> on subsequent passes, *and if that means it constructs different state
> on the subsequent pass, that's the state that should be kept around, not
> the state from the previous pass*).

Or, to put it another way:

Why is

	discarding all the state, resetting the "visited" flag to 0, and
	redissecting all the packets on a subsequent pass through the
	file

any different from

	closing the file, reopening it, and rereading it?