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 61 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 81 of file app-layer-htp-range.h.

◆ expire

uint32_t HttpRangeContainerFile::expire

expire time in epoch

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

◆ files

FileContainer* HttpRangeContainerFile::files

file container, with only one file

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

Referenced by HttpRangeClose().

◆ flags

uint16_t HttpRangeContainerFile::flags

file flags

Definition at line 79 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 75 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 69 of file app-layer-htp-range.h.

◆ key

uint8_t* HttpRangeContainerFile::key

key for hashtable

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

◆ lastsize

uint64_t HttpRangeContainerFile::lastsize

size of the file after last sync

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

Referenced by HttpRangeClose().

◆ len

uint32_t HttpRangeContainerFile::len

key length

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

◆ totalsize

uint64_t HttpRangeContainerFile::totalsize

total expected size of the file in ranges

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


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