X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/994544c294af3bcab070124dfab4967b775435ca..af81d5a0b09446188fd6f9c292b51519f2c1cedd:/src/scache.c diff --git a/src/scache.c b/src/scache.c index c5a7d13..525e5bd 100644 --- a/src/scache.c +++ b/src/scache.c @@ -185,6 +185,33 @@ scache_send_flattened_links(struct Client *source_p) sendto_one_numeric(source_p, RPL_ENDOFLINKS, form_str(RPL_ENDOFLINKS), "*"); } +#define MISSING_TIMEOUT 86400 + +/* scache_send_missing() + * + * inputs - client to send to + * outputs - recently split servers + * side effects - + */ +void +scache_send_missing(struct Client *source_p) +{ + struct scache_entry *scache_ptr; + int i; + + for (i = 0; i < SCACHE_HASH_SIZE; i++) + { + scache_ptr = scache_hash[i]; + while (scache_ptr) + { + if (!(scache_ptr->flags & SC_ONLINE) && scache_ptr->last_split > CurrentTime - MISSING_TIMEOUT) + sendto_one_numeric(source_p, RPL_MAP, "** %s (recently split)", + scache_ptr->name); + + scache_ptr = scache_ptr->next; + } + } +} /* * count_scache * inputs - pointer to where to leave number of servers cached