Lines 241-246
Link Here
|
241 |
cache->last_purge = apr_time_now(); |
241 |
cache->last_purge = apr_time_now(); |
242 |
cache->npurged = 0; |
242 |
cache->npurged = 0; |
243 |
cache->numpurges++; |
243 |
cache->numpurges++; |
|
|
244 |
if (cache->last_purge - cache->ttl > cache->marktime) |
245 |
cache->marktime = cache->last_purge - cache->ttl; |
244 |
|
246 |
|
245 |
for (i=0; i < cache->size; ++i) { |
247 |
for (i=0; i < cache->size; ++i) { |
246 |
pp = cache->nodes + i; |
248 |
pp = cache->nodes + i; |
Lines 281-286
Link Here
|
281 |
/* create the three caches */ |
283 |
/* create the three caches */ |
282 |
search_cache = util_ald_create_cache(st, |
284 |
search_cache = util_ald_create_cache(st, |
283 |
st->search_cache_size, |
285 |
st->search_cache_size, |
|
|
286 |
st->search_cache_ttl, |
284 |
util_ldap_search_node_hash, |
287 |
util_ldap_search_node_hash, |
285 |
util_ldap_search_node_compare, |
288 |
util_ldap_search_node_compare, |
286 |
util_ldap_search_node_copy, |
289 |
util_ldap_search_node_copy, |
Lines 288-293
Link Here
|
288 |
util_ldap_search_node_display); |
291 |
util_ldap_search_node_display); |
289 |
compare_cache = util_ald_create_cache(st, |
292 |
compare_cache = util_ald_create_cache(st, |
290 |
st->compare_cache_size, |
293 |
st->compare_cache_size, |
|
|
294 |
st->compare_cache_ttl, |
291 |
util_ldap_compare_node_hash, |
295 |
util_ldap_compare_node_hash, |
292 |
util_ldap_compare_node_compare, |
296 |
util_ldap_compare_node_compare, |
293 |
util_ldap_compare_node_copy, |
297 |
util_ldap_compare_node_copy, |
Lines 295-300
Link Here
|
295 |
util_ldap_compare_node_display); |
299 |
util_ldap_compare_node_display); |
296 |
dn_compare_cache = util_ald_create_cache(st, |
300 |
dn_compare_cache = util_ald_create_cache(st, |
297 |
st->compare_cache_size, |
301 |
st->compare_cache_size, |
|
|
302 |
st->compare_cache_ttl, |
298 |
util_ldap_dn_compare_node_hash, |
303 |
util_ldap_dn_compare_node_hash, |
299 |
util_ldap_dn_compare_node_compare, |
304 |
util_ldap_dn_compare_node_compare, |
300 |
util_ldap_dn_compare_node_copy, |
305 |
util_ldap_dn_compare_node_copy, |
Lines 323-328
Link Here
|
323 |
|
328 |
|
324 |
util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st, |
329 |
util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st, |
325 |
long cache_size, |
330 |
long cache_size, |
|
|
331 |
long cache_ttl, |
326 |
unsigned long (*hashfunc)(void *), |
332 |
unsigned long (*hashfunc)(void *), |
327 |
int (*comparefunc)(void *, void *), |
333 |
int (*comparefunc)(void *, void *), |
328 |
void * (*copyfunc)(util_ald_cache_t *cache, void *), |
334 |
void * (*copyfunc)(util_ald_cache_t *cache, void *), |
Lines 381-388
Link Here
|
381 |
cache->free = freefunc; |
387 |
cache->free = freefunc; |
382 |
cache->display = displayfunc; |
388 |
cache->display = displayfunc; |
383 |
|
389 |
|
|
|
390 |
|
384 |
cache->fullmark = cache->maxentries / 4 * 3; |
391 |
cache->fullmark = cache->maxentries / 4 * 3; |
385 |
cache->marktime = 0; |
392 |
cache->marktime = 0; |
|
|
393 |
cache->ttl = cache_ttl; |
386 |
cache->avg_purgetime = 0.0; |
394 |
cache->avg_purgetime = 0.0; |
387 |
cache->numpurges = 0; |
395 |
cache->numpurges = 0; |
388 |
cache->last_purge = 0; |
396 |
cache->last_purge = 0; |
Lines 727-732
Link Here
|
727 |
"<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>" |
735 |
"<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>" |
728 |
"</tr>\n" |
736 |
"</tr>\n" |
729 |
"<tr>\n" |
737 |
"<tr>\n" |
|
|
738 |
"<td bgcolor='#000000'><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>TTL (sec):</b></font></td>" |
739 |
"<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>" |
740 |
"</tr>\n" |
741 |
"<tr>\n" |
730 |
"<td bgcolor='#000000'><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark:</b></font></td>" |
742 |
"<td bgcolor='#000000'><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark:</b></font></td>" |
731 |
"<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>" |
743 |
"<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>" |
732 |
"</tr>\n" |
744 |
"</tr>\n" |
Lines 738-743
Link Here
|
738 |
util_ldap_cache->size, |
750 |
util_ldap_cache->size, |
739 |
util_ldap_cache->maxentries, |
751 |
util_ldap_cache->maxentries, |
740 |
util_ldap_cache->numentries, |
752 |
util_ldap_cache->numentries, |
|
|
753 |
util_ldap_cache->ttl / APR_USEC_PER_SEC, |
741 |
util_ldap_cache->fullmark, |
754 |
util_ldap_cache->fullmark, |
742 |
date_str); |
755 |
date_str); |
743 |
|
756 |
|
Lines 748-753
Link Here
|
748 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Size</b></font></td>" |
761 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Size</b></font></td>" |
749 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Max Entries</b></font></td>" |
762 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Max Entries</b></font></td>" |
750 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b># Entries</b></font></td>" |
763 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b># Entries</b></font></td>" |
|
|
764 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>TTL (sec)</b></font></td>" |
751 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark</b></font></td>" |
765 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark</b></font></td>" |
752 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark Time</b></font></td>" |
766 |
"<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark Time</b></font></td>" |
753 |
"</tr>\n", r |
767 |
"</tr>\n", r |