X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-z-cache.cpp;h=366d19bbf411535b666811386b92743af0c1e9fa;hb=eea2caea1263bed0aae268f72d985cbb1822ac30;hp=b0729a4a84b16de855aa5da324b898a00289d2af;hpb=c17f6990d7c401ff9a9f5efa574981e26f5318cc;p=yazpp-moved-to-github.git diff --git a/src/yaz-z-cache.cpp b/src/yaz-z-cache.cpp index b0729a4..366d19b 100644 --- a/src/yaz-z-cache.cpp +++ b/src/yaz-z-cache.cpp @@ -2,20 +2,23 @@ * Copyright (c) 2002-2004, Index Data. * See the file LICENSE for details. * - * $Id: yaz-z-cache.cpp,v 1.8 2004-01-24 21:32:31 adam Exp $ + * $Id: yaz-z-cache.cpp,v 1.13 2005-06-08 13:28:06 adam Exp $ */ #include -#include +#include +#include -struct Yaz_RecordCache_Entry { +using namespace yazpp_1; + +struct yazpp_1::RecordCache_Entry { int m_offset; Z_NamePlusRecord *m_record; Z_RecordComposition *m_comp; - Yaz_RecordCache_Entry *m_next; + RecordCache_Entry *m_next; }; -Yaz_RecordCache::Yaz_RecordCache () +RecordCache::RecordCache () { m_mem = nmem_create(); m_entries = 0; @@ -24,17 +27,17 @@ Yaz_RecordCache::Yaz_RecordCache () m_max_size = 200000; } -Yaz_RecordCache::~Yaz_RecordCache () +RecordCache::~RecordCache () { nmem_destroy(m_mem); } -void Yaz_RecordCache::set_max_size(int sz) +void RecordCache::set_max_size(int sz) { m_max_size = sz; } -void Yaz_RecordCache::clear () +void RecordCache::clear () { nmem_destroy(m_mem); m_mem = nmem_create(); @@ -43,7 +46,7 @@ void Yaz_RecordCache::clear () m_searchRequest = 0; } -void Yaz_RecordCache::copy_searchRequest(Z_SearchRequest *sr) +void RecordCache::copy_searchRequest(Z_SearchRequest *sr) { ODR encode = odr_createmem(ODR_ENCODE); ODR decode = odr_createmem(ODR_DECODE); @@ -63,7 +66,7 @@ void Yaz_RecordCache::copy_searchRequest(Z_SearchRequest *sr) odr_destroy(decode); } -void Yaz_RecordCache::copy_presentRequest(Z_PresentRequest *pr) +void RecordCache::copy_presentRequest(Z_PresentRequest *pr) { ODR encode = odr_createmem(ODR_ENCODE); ODR decode = odr_createmem(ODR_DECODE); @@ -83,7 +86,7 @@ void Yaz_RecordCache::copy_presentRequest(Z_PresentRequest *pr) odr_destroy(decode); } -void Yaz_RecordCache::add (ODR o, Z_NamePlusRecordList *npr, int start, +void RecordCache::add (ODR o, Z_NamePlusRecordList *npr, int start, int hits) { if (nmem_total(m_mem) > m_max_size) @@ -114,7 +117,7 @@ void Yaz_RecordCache::add (ODR o, Z_NamePlusRecordList *npr, int start, int i; for (i = 0; inum_records; i++) { - Yaz_RecordCache_Entry *entry = (Yaz_RecordCache_Entry *) + RecordCache_Entry *entry = (RecordCache_Entry *) nmem_malloc(m_mem, sizeof(*entry)); entry->m_record = (Z_NamePlusRecord *) nmem_malloc(m_mem, sizeof(*entry->m_record)); @@ -128,7 +131,7 @@ void Yaz_RecordCache::add (ODR o, Z_NamePlusRecordList *npr, int start, } } -int Yaz_RecordCache::match (Yaz_RecordCache_Entry *entry, +int RecordCache::match (RecordCache_Entry *entry, Odr_oid *syntax, int offset, Z_RecordComposition *comp) { @@ -167,23 +170,23 @@ int Yaz_RecordCache::match (Yaz_RecordCache_Entry *entry, oid_to_dotstring(entry->m_record->u.databaseRecord->direct_reference, mstr1); char mstr2[100]; oid_to_dotstring(syntax, mstr2); - yaz_log(LOG_LOG, "match fail 3 d=%s s=%s", mstr1, mstr2); + yaz_log(YLOG_LOG, "match fail 3 d=%s s=%s", mstr1, mstr2); #endif return 0; } -int Yaz_RecordCache::lookup (ODR o, Z_NamePlusRecordList **npr, +int RecordCache::lookup (ODR o, Z_NamePlusRecordList **npr, int start, int num, Odr_oid *syntax, Z_RecordComposition *comp) { int i; - yaz_log(LOG_DEBUG, "cache lookup start=%d num=%d", start, num); + yaz_log(YLOG_DEBUG, "cache lookup start=%d num=%d", start, num); for (i = 0; im_next) if (match(entry, syntax, start+i, comp)) break; @@ -196,7 +199,7 @@ int Yaz_RecordCache::lookup (ODR o, Z_NamePlusRecordList **npr, odr_malloc(o, num * sizeof(Z_NamePlusRecord *)); for (i = 0; im_next) if (match(entry, syntax, start+i, comp)) break;