summaryrefslogtreecommitdiff
path: root/src/peers.h
diff options
context:
space:
mode:
authorJesper Jensen <jesper@jnsn.dev>2025-04-12 09:35:32 +0200
committerJesper Jensen <jesper@jnsn.dev>2025-04-12 10:21:20 +0200
commit04c5b9d5ef4723d469ea3472012787a8e2a5bdbd (patch)
treec9626a0cbc18e9d54fad639ac091121dc7d69713 /src/peers.h
parentcd622b745254baafa21adf4b1b724e079652321a (diff)
Add prometheus monitoring
Diffstat (limited to 'src/peers.h')
-rw-r--r--src/peers.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/peers.h b/src/peers.h
index 106df7b..8bd6b44 100644
--- a/src/peers.h
+++ b/src/peers.h
@@ -5,6 +5,8 @@
#define PEER_ENOMEM 1
#define PEER_EFULL 1
+#define HASH_TIMEOUT (12 * 60 * 60)
+
struct infohash {
union {
uint32_t inner[5];
@@ -17,6 +19,7 @@ struct peer_entry {
struct infohash key;
struct addr value[PEERS_PER_HASH];
size_t value_len;
+ time_t last_seen;
bool set;
};
@@ -30,5 +33,7 @@ extern size_t peer_table_size;
extern size_t peer_table_load;
int allocate_hashtable();
-int add_peer(struct infohash* key, struct addr* peer);
-void get_peers(struct infohash* infohash, struct addr *peers[PEERS_PER_HASH], size_t *peers_len);
+int add_peer(struct infohash* infohash, struct addr* peer, time_t now);
+void get_peers(struct infohash* infohash, struct addr **peers, size_t *peers_len);
+
+void expire_hashes(time_t now);