summaryrefslogtreecommitdiffstats
path: root/src/fastd.h
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2013-12-16 19:27:07 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2013-12-16 19:27:07 +0100
commit4475652054616ded16485341b081abf42cc6c08e (patch)
tree30b3f62bd4107766630e486cf67b8fcf117f9cd8 /src/fastd.h
parentc91f3ac6acf933a8dd89cca33081cfd4dfeabadc (diff)
downloadfastd-4475652054616ded16485341b081abf42cc6c08e.tar
fastd-4475652054616ded16485341b081abf42cc6c08e.zip
resolve: save a timestamp in the resolve return to ensure we don't confuse remotes before and after reconfiguration
Diffstat (limited to 'src/fastd.h')
-rw-r--r--src/fastd.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/fastd.h b/src/fastd.h
index b170bb5..30e4bc4 100644
--- a/src/fastd.h
+++ b/src/fastd.h
@@ -80,6 +80,7 @@ union fastd_peer_address {
struct fastd_resolve_return {
fastd_remote_t *remote;
+ struct timespec resolve_time;
fastd_peer_address_t addr;
};
@@ -394,6 +395,10 @@ static inline bool timespec_after(const struct timespec *tp1, const struct times
(tp1->tv_sec == tp2->tv_sec && tp1->tv_nsec > tp2->tv_nsec));
}
+static inline bool timespec_equal(const struct timespec *tp1, const struct timespec *tp2) {
+ return (tp1->tv_sec == tp2->tv_sec && tp1->tv_nsec == tp2->tv_nsec);
+}
+
/* returns (tp1 - tp2) in milliseconds */
static inline int timespec_diff(const struct timespec *tp1, const struct timespec *tp2) {
return ((tp1->tv_sec - tp2->tv_sec))*1000 + (tp1->tv_nsec - tp2->tv_nsec)/1e6;