From 48fb6c6dc2f75e57b79eaeb2e63790e315529f7f Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 1 Jun 2006 14:33:52 +0000 Subject: Updated retry timer mechanism to incorporate smoothed RTT estimation. AoE now uses the retry timer mechanism. --- src/include/gpxe/retry.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/include') diff --git a/src/include/gpxe/retry.h b/src/include/gpxe/retry.h index 8a9e2cf6f..8f197bc36 100644 --- a/src/include/gpxe/retry.h +++ b/src/include/gpxe/retry.h @@ -9,28 +9,27 @@ #include -/** Effective maximum retry count for exponential backoff calculation */ -#define BACKOFF_LIMIT 5 - /** A retry timer */ struct retry_timer { /** List of active timers */ struct list_head list; - /** Base timeout (in ticks) */ - unsigned int base; - /** Retry count */ - unsigned int retries; - /** Expiry time (in ticks) */ - unsigned long expiry; + /** Timeout value (in ticks) */ + unsigned long timeout; + /** Start time (in ticks) */ + unsigned long start; /** Timer expired callback * * @v timer Retry timer + * @v fail Failure indicator + * + * The timer will already be stopped when this method is + * called. The failure indicator will be True if the retry + * timeout has already exceeded @c MAX_TIMEOUT. */ - void ( * expired ) ( struct retry_timer *timer ); + void ( * expired ) ( struct retry_timer *timer, int over ); }; extern void start_timer ( struct retry_timer *timer ); -extern void reset_timer ( struct retry_timer *timer ); extern void stop_timer ( struct retry_timer *timer ); #endif /* _GPXE_RETRY_H */ -- cgit v1.2.3-55-g7522