summaryrefslogtreecommitdiff
path: root/src/io/map.h
blob: 84b40fbf55b4cc263a7d6cbe0834de5b84e577e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include "../packet/packet.h"

typedef struct {
    Question* key;
    Packet* value;
} Entry;

typedef struct {
    uint32_t capacity;
    uint32_t len;
    Entry* entries;
} RecordMap;

void record_map_init(RecordMap* map);
void record_map_free(RecordMap* map);

bool record_map_get(const RecordMap* map, const Question* key, Packet* value);
void record_map_add(RecordMap* map, Question* key, Packet* value);