summaryrefslogtreecommitdiffstats
path: root/src/storage/phrase_index.h
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2011-08-10 12:09:36 +0800
committerPeng Wu <alexepico@gmail.com>2011-08-10 12:09:36 +0800
commite4fa0bfd58813a248674bd41b5dcf61e9be3bdeb (patch)
treea6a9be6736720d3adc1859b02b057493a2ce274a /src/storage/phrase_index.h
parent46a79d1e62a25c81f151e2e68244429ffdcf6731 (diff)
downloadlibpinyin-e4fa0bfd58813a248674bd41b5dcf61e9be3bdeb.tar.gz
libpinyin-e4fa0bfd58813a248674bd41b5dcf61e9be3bdeb.tar.xz
libpinyin-e4fa0bfd58813a248674bd41b5dcf61e9be3bdeb.zip
write phrase index logger in progress
Diffstat (limited to 'src/storage/phrase_index.h')
-rw-r--r--src/storage/phrase_index.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/storage/phrase_index.h b/src/storage/phrase_index.h
index 2dcad26..f2648e8 100644
--- a/src/storage/phrase_index.h
+++ b/src/storage/phrase_index.h
@@ -168,6 +168,10 @@ public:
bool store(MemoryChunk * new_chunk,
table_offset_t offset, table_offset_t & end);
+ /* switch to logger format to reduce user storage */
+ bool diff(SubPhraseIndex * oldone, PhraseIndexLogger * logger);
+ bool merge(PhraseIndexLogger * logger);
+
/* get token range in this sub phrase */
int get_range(/* out */ PhraseIndexRange & range);
@@ -183,6 +187,7 @@ public:
* from m_total_freq
*/
int remove_phrase_item(phrase_token_t token, /* out */ PhraseItem * & item);
+
};
class FacadePhraseIndex{
@@ -211,6 +216,12 @@ public:
bool store(guint8 phrase_index, MemoryChunk * new_chunk);
bool unload(guint8 phrase_index);
+ /* load/store logger format.
+ the ownership of oldchunk and log is transfered to here. */
+ bool diff(guint8 phrase_index, MemoryChunk * oldchunk,
+ MemoryChunk * newlog);
+ bool merge(guint8 phrase_index, MemoryChunk * log);
+
/* compat all SubPhraseIndex m_phrase_content memory usage.*/
bool compat();
@@ -262,6 +273,7 @@ public:
m_total_freq -= item->get_unigram_frequency();
return result;
}
+
};
};