+ timeout_set(&past_request_timeout, &(struct timeval){10, rand() % 100000});
+}
+
+bool seen_request(const char *request) {
+ past_request_t *new, p = {NULL};
+
+ p.request = request;
+
+ if(splay_search(past_request_tree, &p)) {
+ logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Already seen request");
+ return true;
+ } else {
+ new = xmalloc(sizeof(*new));
+ new->request = xstrdup(request);
+ new->firstseen = now.tv_sec;
+ splay_insert(past_request_tree, new);
+ timeout_add(&past_request_timeout, age_past_requests, NULL, &(struct timeval){10, rand() % 100000});
+ return false;
+ }