You are here: Elements > Decoder Data Objects > Understanding How a Decoder Process Affects Data Objects

Understanding How a Decoder Process Affects Data Objects

There are two phases in the decoding of a frame.

First, when a capture file is first opened or data is first captured, all frames are processed in the order they are received and certain information is saved in the FRM companion file (this file is stored in the same directory as the capture file, and is given the name of the capture file but with an FRM extension). This is called compiling. Compilation happens only once with each frame as it is received. The only output of this phase is the FRM file.

Second, the frame is processed for display as text on the screen. This is called reconstruction. The output of this phase is the text the user sees. Reconstructing the frame may involve retrieving information about the frame that was stored in the FRM file when the frame was compiled. This can happen to any frame, at any time, in any order, any number of times, as the user moves through the screens and clicks on frames.

The compilation stage saves two things: the stack traversal for the particular frame being compiled, and the context data that goes with that frame, which is the data saved by a data object. The reconstruction stage retrieves the context data exactly as it appeared when the frame was first accessed, so that no matter what order the frames are processed in, the context data is the same as it was when the frame was first compiled.

The compilation and reconstruction phases have some different and some similar needs. The program flow is explained in detail below. (References to specific parts of the data class, such as GET_DATA_FROM_A_BYTE_ARRAY, are explained later in this chapter in sections Decoder Data Object Syntax and Using Decoder Data Objects for per-Frame Data).