repairBlockStore.h 980 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#ifndef PRRT_REPAIRBLOCKSTORE_H
#define PRRT_REPAIRBLOCKSTORE_H

#include <bits/pthreadtypes.h>
#include "../packet.h"
#include "../block.h"
#include "../../util/bptree.h"

typedef struct prrtRepairBlockStore {
    pthread_mutex_t lock;
    BPTreeNode *blockTree;
} PrrtRepairBlockStore;

PrrtRepairBlockStore *PrrtRepairBlockStore_create(void);

bool PrrtRepairBlockStore_delete(PrrtRepairBlockStore *store, prrtSequenceNumber_t sequenceNumber);

PrrtBlock *PrrtRepairBlockStore_get_block(PrrtRepairBlockStore *store, prrtSequenceNumber_t sequenceNumber);

20
bool PrrtRepairBlockStore_insert(PrrtRepairBlockStore *store, PrrtBlock *block);
21 22 23 24 25 26 27 28 29

bool PrrtRepairBlockStore_expire_block_range(PrrtRepairBlockStore *store, prrtSequenceNumber_t start,
                                             prrtSequenceNumber_t stop);

uint32_t PrrtRepairBlockStore_size(PrrtRepairBlockStore *store);

bool PrrtRepairBlockStore_destroy(PrrtRepairBlockStore *store);

#endif //PRRT_REPAIRBLOCKSTORE_H