MCPcopy Create free account
hub / github.com/bailey27/cppcryptfs / LongFilenameCache

Class LongFilenameCache

libcppcryptfs/filename/longfilenamecache.h:74–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72
73
74class LongFilenameCache {
75
76private:
77
78
79 unordered_map<wstring, LongFilenameCacheNode*> m_map;
80
81 list<LongFilenameCacheNode*> m_lru_list;
82
83 list<LongFilenameCacheNode*> m_spare_node_list;
84
85 CRITICAL_SECTION m_crit;
86
87 long long m_lookups;
88 long long m_hits;
89
90 void lock();
91 void unlock();
92
93 bool check_node_clean(LongFilenameCacheNode *node, const wstring& path);
94
95public:
96
97 // disallow copying
98 LongFilenameCache(LongFilenameCache const&) = delete;
99 void operator=(LongFilenameCache const&) = delete;
100
101 LongFilenameCache();
102
103 virtual ~LongFilenameCache();
104
105 bool lookup(LPCWSTR base64_hash, wstring *path, string *actual_encrypted);
106
107 bool store_if_not_there(LPCWSTR base64_hash, LPCWSTR path, const char *actual_encrypted);
108
109 void remove(LPCWSTR base64_hash);
110
111 long long hits() { long long rval; lock(); rval = m_hits; unlock(); return rval; }
112 long long lookups() { long long rval; lock(); rval = m_lookups; unlock(); return rval; }
113};
114
115

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected