From 31084affa60ec70dffdb1e963f021bdd3d597a17 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Mon, 17 Aug 2009 03:03:50 +0000 Subject: [PATCH] ITS#6251 framework for TTR. refresh not yet implemented. --- servers/slapd/overlays/pcache.c | 187 ++++++++++++++++++++++++-------- 1 file changed, 142 insertions(+), 45 deletions(-) diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 710df5d789..6c03df4b29 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -74,8 +74,10 @@ typedef struct cached_query_s { struct berval q_uuid; /* query identifier */ int q_sizelimit; struct query_template_s *qtemp; /* template of the query */ - time_t expiry_time; /* time till the query is considered valid */ + time_t expiry_time; /* time till the query is considered invalid */ + time_t refresh_time; /* time till the query is refreshed */ unsigned long answerable_cnt; /* how many times it was answerable */ + int refcnt; /* references since last refresh */ ldap_pvt_thread_mutex_t answerable_cnt_mutex; struct cached_query_s *next; /* next query in the template */ struct cached_query_s *prev; /* previous query in the template */ @@ -87,7 +89,7 @@ typedef struct cached_query_s { /* * URL representation: * - * ldap:///????x-uuid=,x-template=