From 63a28d5951594455e050ea3a68ab5b63cb093964 Mon Sep 17 00:00:00 2001 From: Jesper Jensen Date: Tue, 6 May 2025 19:31:48 +0200 Subject: Reset the expire time of routing table on startup --- src/routing.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/routing.c') diff --git a/src/routing.c b/src/routing.c index 30f0deb..a3e0b26 100644 --- a/src/routing.c +++ b/src/routing.c @@ -73,12 +73,6 @@ void routing_update_metrics() { prom_gauge_set(routing_table_occupied, filled, (const char*[]){buf}); } - - time_t reasonable = time(NULL) + 120; - for(size_t i = 0; i < RT_SIZE; i++) { - if(pTable->table[i].set) continue; - if(reasonable < pTable->table[i].expire) dbg("%d will expire quite far into the future after now? (%ld < %ld)", i, reasonable, pTable->table[i].expire); - } } void routing_flush() { @@ -300,6 +294,18 @@ void routing_oldest(struct entry** dest) { } } +void routing_reset_expire(time_t expire) { + for(struct entry* entry = pTable->table; entry < pTable->table+RT_SIZE; entry++){ + if(!entry->set) + continue; + + if(entry->expire != 0) + continue; + + entry->expire = expire; + } +} + void routing_status(int* filled, int* size, double* load_factor, size_t load_factor_len) { *size = RT_SIZE; -- cgit v1.2.3