wireshark/epan/frame_data_sequence.h
Tomasz Moń e7d5c49fe1
epan: Use hash table for dependent frames
Dependent frames list order does not matter and thus significantly
faster data structure can be used. Replace the list with hash table to
avoid excessive CPU usage when opening files containing reassembled
packets consisting of large number of fragments.
2023-01-28 15:17:42 +01:00

44 lines
1.1 KiB
C

/** @file
* Implements a sequence of frame_data structures
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef __FRAME_DATA_SEQUENCE_H__
#define __FRAME_DATA_SEQUENCE_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
typedef struct _frame_data_sequence frame_data_sequence;
WS_DLL_PUBLIC frame_data_sequence *new_frame_data_sequence(void);
WS_DLL_PUBLIC frame_data *frame_data_sequence_add(frame_data_sequence *fds,
frame_data *fdata);
/*
* Find the frame_data for the specified frame number.
*/
WS_DLL_PUBLIC frame_data *frame_data_sequence_find(frame_data_sequence *fds,
guint32 num);
/*
* Free a frame_data_sequence and all the frame_data structures in it.
*/
WS_DLL_PUBLIC void free_frame_data_sequence(frame_data_sequence *fds);
WS_DLL_PUBLIC void find_and_mark_frame_depended_upon(gpointer key, gpointer value, gpointer user_data);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FRAME_DATA_SEQUENCE_H__ */