;ò à/?c@sßdkZd„Zd„Zd„Zd„Zd„Zdfd„ƒYZdfd „ƒYZd fd „ƒYZd fd „ƒYZ dfd„ƒYZ dfd„ƒYZ e e d„Zd„Zd„Zd„Zd„ZdS(NcCst|i|iƒSdS(N(scmpsasurlsb(sasb((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysurlNodeComparescCst|i|iƒSdS(N(scmpsasusernamesb(sasb((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pyssearchNodeComparescCsUt|i|iƒdjo5t|i|iƒdjot|i|iƒdjSdS(Ni(scmpsasdnsbsattribsvalue(sasb((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pyscompareNodeCompare scCst|i|iƒSdS(N(scmpsasreqdnsb(sasb((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysdnCompareNodeComparescCst|i|iƒSdS(N(scmpsasldapConnsb(sasb((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysconnectionNodeComparessURLNodecBstZd„ZRS(NcCs(||_||_||_||_dS(N(surlsselfssearchs search_cachescompares compare_caches dn_comparesdn_compare_cache(sselfsurlssearchscompares dn_compare((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__init__s   (s__name__s __module__s__init__(((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysURLNodess SearchNodecBstZd„ZRS(NcCs(||_||_||_||_dS(N(susernamesselfsdnsbindpwslastbind(sselfsusernamesdnsbindpwslastbind((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__init__s   (s__name__s __module__s__init__(((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys SearchNodess CompareNodecBstZd„ZRS(NcCs(||_||_||_||_dS(N(sdnsselfsattribsvalues lastcompare(sselfsdnsattribsvalues lastcompare((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__init__#s   (s__name__s __module__s__init__(((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys CompareNode"ss DNCompareNodecBstZdd„ZRS(NscCs||_||_dS(N(sdnsselfsreqdn(sselfsreqdnsdn((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__init__*s (s__name__s __module__s__init__(((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys DNCompareNode)ss CacheNodecBstZd„Zd„ZRS(NcCs||_tiƒ|_dS(N(spayloadsselfstimesadd_time(sselfspayload((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__init__/s cCs |`dS(N(sselfspayload(sself((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__del__3s(s__name__s __module__s__init__s__del__(((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys CacheNode.s s LDAPCachecBsDtZeed„Zd„Zd„Zd„Zd„Zd„Z RS(NcCsÉt|ƒ|_|id|_|idjo d|_n|idd|_d|_d|_h|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_||_t|_dS(Nii@iif0.0(sints maxentriessselfssizesfullmarks numentriessmarktimes cache_nodess nunpurgess avg_purgetimes last_purgesnpurgedsfetchesshitssinsertssremovesscmpareshashshashfunc(sselfs maxentriesscmpareshashfunc((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__init__8s$             cCs!x|iiƒD] }~qWdS(N(sselfs cache_nodessvaluessp(sselfsp((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys__del__RscCsp|id|_|i|ƒ}|ii|gƒ}x5|D]-}|i ||iƒdjo |iSq;q;WdS(Nii( sselfsfetchesshashfuncspayloadspHashs cache_nodessgetsentriesspscmpare(sselfspayloadspsentriesspHash((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysfetchVscCsŸ|i|ƒ}|ii|gƒ}|it|ƒƒ||i|<|i d|_ |i |i jot i ƒ|_ n|i |i jo|iƒndS(Ni(sselfshashfuncspayloadspHashs cache_nodessgetsentriessappends CacheNodes numentriessfullmarkstimesmarktimes maxentriesspurge(sselfspayloadspHashsentries((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysinsert_s cCstiƒ|_d|_|id|_d}x¯|iiƒD]ž\}}g}x0|D](}|i |i jo|i|qWqWW|iƒx5|D]-}||=|id|_|id|_q”W||i|<|d}q>Wtiƒ}||i|i|id|i|_dS(Nii(stimesselfs last_purgesnpurgeds numpurgessindexs cache_nodessitemssksnsindicesspsadd_timesmarktimesappendsreversesis numentriessts avg_purgetime(sselfsindexsisnspstsindicessk((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pyspurgejs*     cCsŽ|i|ƒ}|ii|gƒ}d}x]|D]U}|i ||iƒdjo)||=||i|<|i d|_ Pn|d}q1WdS(Nii( sselfshashfuncspayloadspHashs cache_nodessgetsentriessindexspscmpares numentries(sselfspayloadsindexspspHashsentries((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysremove„s ( s__name__s __module__scmpshashs__init__s__del__sfetchsinsertspurgesremove(((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys LDAPCache7s   cCs/|djotSnt|||ƒ}|SdS(Ni(s maxentriessNones LDAPCaches nodeComparesnodeHashscache(s maxentriess nodeComparesnodeHashscache((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysLDAPCreateCache‘s cCs~dS(N(scache(scache((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysLDAPDestoryCache˜scCs|i|ƒSdS(N(scachesfetchspayload(scachespayload((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysLDAPCacheFetch›scCs|i|ƒSdS(N(scachesinsertspayload(scachespayload((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysLDAPCacheInsertžscCs|i|ƒSdS(N(scachesremovespayload(scachespayload((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pysLDAPCacheRemove¡s(stimesurlNodeComparessearchNodeComparescompareNodeComparesdnCompareNodeComparesconnectionNodeComparesURLNodes SearchNodes CompareNodes DNCompareNodes CacheNodes LDAPCachescmpshashsLDAPCreateCachesLDAPDestoryCachesLDAPCacheFetchsLDAPCacheInsertsLDAPCacheRemove(sconnectionNodeComparesurlNodeComparesLDAPCreateCaches LDAPCaches CacheNodesLDAPCacheRemovesLDAPDestoryCaches CompareNodesLDAPCacheInsertsdnCompareNodeCompares SearchNodesLDAPCacheFetchstimescompareNodeComparesURLNodes DNCompareNodessearchNodeCompare((sV/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/LDAPAuthSource/LDAPCache.pys?s       Z