suricata
HttpRangeContainerFile Struct Reference

#include <app-layer-htp-range.h>

Collaboration diagram for HttpRangeContainerFile:

Data Fields

uint8_t * key
 
uint32_t len
 
uint32_t expire
 
THashDatahdata
 
uint64_t totalsize
 
uint64_t lastsize
 
FileContainerfiles
 
struct HTTP_RANGES fragment_tree
 
uint16_t flags
 
bool error
 

Detailed Description

Item in hash table for a file in multiple ranges Thread-safety is ensured with the thread-safe hash table cf THashData The number of use is increased for each flow opening a new HttpRangeContainerBlock until it closes this HttpRangeContainerBlock The design goal is to have concurrency only on opening and closing a range request and have a lock-free data structure belonging to one Flow (see HttpRangeContainerBlock below) for every append in between (we suppose we have many appends per range request)

Definition at line 60 of file app-layer-htp-range.h.

Field Documentation

◆ error

bool HttpRangeContainerFile::error

error condition for this range. Its up to timeout handling to cleanup

Definition at line 80 of file app-layer-htp-range.h.

◆ expire

uint32_t HttpRangeContainerFile::expire

expire time in epoch

Definition at line 66 of file app-layer-htp-range.h.

◆ files

FileContainer* HttpRangeContainerFile::files

file container, with only one file

Definition at line 74 of file app-layer-htp-range.h.

Referenced by HttpRangeClose().

◆ flags

uint16_t HttpRangeContainerFile::flags

file flags

Definition at line 78 of file app-layer-htp-range.h.

◆ fragment_tree

struct HTTP_RANGES HttpRangeContainerFile::fragment_tree

red and black tree list of ranges which came out of order

Definition at line 74 of file app-layer-htp-range.h.

Referenced by HttpRangeClose().

◆ hdata

THashData* HttpRangeContainerFile::hdata

pointer to hashtable data, for locking and use count

Definition at line 68 of file app-layer-htp-range.h.

◆ key

uint8_t* HttpRangeContainerFile::key

key for hashtable

Definition at line 62 of file app-layer-htp-range.h.

◆ lastsize

uint64_t HttpRangeContainerFile::lastsize

size of the file after last sync

Definition at line 72 of file app-layer-htp-range.h.

Referenced by HttpRangeClose().

◆ len

uint32_t HttpRangeContainerFile::len

key length

Definition at line 64 of file app-layer-htp-range.h.

◆ totalsize

uint64_t HttpRangeContainerFile::totalsize

total expected size of the file in ranges

Definition at line 70 of file app-layer-htp-range.h.


The documentation for this struct was generated from the following file: