From f6092c8427856595b8397ed201ee4c1567fd13ee Mon Sep 17 00:00:00 2001 From: Volker Birk Date: Tue, 28 Jul 2020 17:59:20 +0200 Subject: [PATCH] cache release function --- message_cache.cc | 10 +++++++++- message_cache.hh | 4 +++- test/test_message_cache.cc | 4 ++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/message_cache.cc b/message_cache.cc index 73111a3..9d15865 100644 --- a/message_cache.cc +++ b/message_cache.cc @@ -16,7 +16,7 @@ namespace pEp { rating, flags); } - PEP_STATUS MessageCache::cached_mime_encode_message( + PEP_STATUS MessageCache::cache_mime_encode_message( which one, const message * msg, bool omit_fields, @@ -28,6 +28,14 @@ namespace pEp { mimetext, has_pEp_msg_attachment); } + void MessageCache::cache_release(std::string id) + { + try { + message_cache._cache.erase(id); + } + catch (...) { } + } + static char *dup(const char *src) { if (!src) diff --git a/message_cache.hh b/message_cache.hh index 8b86e66..7e4502b 100644 --- a/message_cache.hh +++ b/message_cache.hh @@ -33,7 +33,7 @@ namespace pEp { enum which { msg_src, msg_dst };; - static PEP_STATUS cached_mime_encode_message( + static PEP_STATUS cache_mime_encode_message( which one, const message * msg, bool omit_fields, @@ -41,6 +41,8 @@ namespace pEp { bool has_pEp_msg_attachment ); + static void cache_release(std::string id); + protected: DYNAMIC_API PEP_STATUS decrypt_message( PEP_SESSION session, diff --git a/test/test_message_cache.cc b/test/test_message_cache.cc index 64e6a21..def3bcc 100644 --- a/test/test_message_cache.cc +++ b/test/test_message_cache.cc @@ -33,6 +33,8 @@ int main() src->attachments = new_bloblist(strdup("blobdata"), 8, "application/octet-stream", "blob.data"); assert(src->attachments && src->attachments->value); + // add to cache + ::message *dst = nullptr; PEP_rating rating; PEP_decrypt_flags_t flags = 0; @@ -49,6 +51,8 @@ int main() assert(string(src->longmsg) == "pEp"); assert(src->attachments == nullptr); + // remove from cache + cout << status << endl; ::free_message(src);