From 5082b5a4d2ec52b90e6d7ed178e462a6f0ff6f3e Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 17 Nov 2015 01:27:47 +0100 Subject: Use task queue for peer resets and keepalives This makes it unnecessary to iterate over all peers for maintenance, and desynchronizes different peers' keepalives. --- src/task.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/task.c') diff --git a/src/task.c b/src/task.c index 2fe79c8..e1dc77d 100644 --- a/src/task.c +++ b/src/task.c @@ -36,7 +36,6 @@ /** Performs periodic maintenance tasks */ static inline void maintenance(void) { fastd_socket_handle_binds(); - fastd_peer_maintenance(); fastd_peer_eth_addr_cleanup(); fastd_task_reschedule_relative(&ctx.next_maintenance, MAINTENANCE_INTERVAL); @@ -56,6 +55,10 @@ static void handle_task(void) { fastd_peer_handle_handshake_task(task); break; + case TASK_TYPE_PEER: + fastd_peer_handle_task(task); + break; + default: exit_bug("unknown task type"); } -- cgit v1.2.3