summaryrefslogtreecommitdiff
path: root/src/peers.c
diff options
context:
space:
mode:
authorJesper Jensen <jesper@jnsn.dev>2025-06-18 21:39:53 +0200
committerJesper Jensen <jesper@jnsn.dev>2025-06-18 21:39:53 +0200
commita63a7a8d9e577d5b05b19ab324e50d639c7aa78c (patch)
tree807073960855a2e53deb3954bbf9d6c812cf2420 /src/peers.c
parent815198586229f980a52fb077f1f404633f282e43 (diff)
Add a debug printout of collision
Diffstat (limited to 'src/peers.c')
-rw-r--r--src/peers.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/peers.c b/src/peers.c
index 79d7620..c3a53ee 100644
--- a/src/peers.c
+++ b/src/peers.c
@@ -12,6 +12,13 @@ struct peer_entry* peer_table;
size_t peer_table_size;
size_t peer_table_load;
+static void dbgl_id(struct infohash* id) {
+ for(uint8_t i = 0; i < 5; i++) {
+ fprintf(stderr, "0x%08x ", id->inner[i]);
+ }
+}
+
+
int allocate_hashtable() {
memset(&peer_status, 0, sizeof(struct peer_status));
@@ -74,7 +81,16 @@ static int resize(size_t new_size) {
struct peer_entry* new_entry = NULL;
find(new_table, new_size, &entry->key, &new_entry);
- assert(!new_entry->set);
+ // If this new entry is already set, this infohash is already present
+ // somehow
+ if(new_entry->set) {
+ dbgl("Collision detected: ");
+ dbgl_id(&new_entry->key);
+ dbgl(" and ");
+ dbgl_id(&entry->key);
+ dbg();
+ abort();
+ }
*new_entry = *entry;
}