Refactor: Add dgram fields to ll_queue, remove ref_count, integrate pkt_normalizer

- ll_queue: Add dgram, dgram_free_fn, dgram_pool, len fields to ll_entry
- ll_queue: Remove ref_count, simplify memory management
- etcp: Add normalizer pointer to ETCP_CONN struct
- pkt_normalizer: Major refactoring for queue integration
- tests: Update for new ll_entry structure
- cleanup: Remove backup files
This commit is contained in:
Evgeny committed 2026-01-31 23:02:35 +03:00
1 parent fbc8e3d9e4
commit dd4644776d
11 files changed
+1488 -2329

No files matched your search

+7 -2
View File
@@ -22,8 +22,13 @@ typedef void (*queue_callback_fn)(struct ll_queue* q, void* arg);
struct ll_entry {
struct ll_entry* next; // Указатель на следующий элемент в очереди
struct ll_entry* prev; // Указатель на предыдущий элемент в очереди
size_t size; // Размер данных элемента (байт)
int ref_count; // Счетчик ссылок (1 при создании, не изменяется при помещении/изъятии из очереди)
uint16_t size; // Размер доступной памяти после блока ll_entry - т.е. data[size]. используется для добавления доп. параметров
uint16_t len; // размер пакета
uint8_t* dgram; // данные пакета
void (*dgram_free_fn)(uint8_t* data, void* arg); // функция освобождения блока
struct memory_pool* dgram_pool; // Пул, из которого выделен этот элемент (NULL, если выделен через malloc)
uint32_t id; // Идентификатор для хеш-поиска
struct ll_entry* hash_next; // Следующий в хеш-цепочке
struct memory_pool* pool; // Пул, из которого выделен этот элемент (NULL, если выделен через malloc)