Chromium Code Reviews| Index: chrome/browser/nacl_host/pnacl_translation_cache.h |
| diff --git a/chrome/browser/nacl_host/pnacl_translation_cache.h b/chrome/browser/nacl_host/pnacl_translation_cache.h |
| index 96f03c01246d5eebb4927b8cdc86242e970d1907..d22a3198cd860dcf3932adb28803dd9cbbdc0d9a 100644 |
| --- a/chrome/browser/nacl_host/pnacl_translation_cache.h |
| +++ b/chrome/browser/nacl_host/pnacl_translation_cache.h |
| @@ -20,8 +20,18 @@ namespace disk_cache { |
| class Backend; |
| } |
| +namespace nacl { |
| +struct PnaclCacheInfo; |
| +} |
| + |
| +namespace net { |
| +class DrainableIOBuffer; |
| +} |
| + |
| namespace pnacl { |
| typedef base::Callback<void(int)> CompletionCallback; |
| +typedef base::Callback<void(int, scoped_refptr<net::DrainableIOBuffer>)> |
| + NexeCallback; |
|
jvoung (off chromium)
2013/07/30 22:51:39
Could this be named something like GetNexeCallback
Derek Schuff
2013/07/31 00:04:16
Done.
|
| class PnaclTranslationCacheEntry; |
| extern const int kMaxMemCacheSize; |
| @@ -38,27 +48,32 @@ class PnaclTranslationCache |
| bool in_memory, |
| const CompletionCallback& callback); |
| - // Store the nexe in the translation cache. |
| - void StoreNexe(const std::string& key, const std::string& nexe); |
| + // Store the nexe in the translation cache. A reference to |nexe_data| is |
| + // held until completion or cancellation. |
| + void StoreNexe(const std::string& key, net::DrainableIOBuffer* nexe_data); |
| // Store the nexe in the translation cache, and call |callback| with |
| // the result. The result passed to the callback is 0 on success and |
| - // <0 otherwise. |
| + // <0 otherwise. A reference to |nexe_data| is held until completion |
| + // or cancellation. |
| void StoreNexe(const std::string& key, |
| - const std::string& nexe, |
| + net::DrainableIOBuffer* nexe_data, |
| const CompletionCallback& callback); |
| // Retrieve the nexe from the translation cache. Write the data into |nexe| |
| - // and call |callback| with the result (0 on success and <0 otherwise) |
| - void GetNexe(const std::string& key, |
| - std::string* nexe, |
| - const CompletionCallback& callback); |
| + // and call |callback|, passing a result code (0 on success and <0 otherwise), |
| + // and a DrainableIOBuffer with the data. |
| + void GetNexe(const std::string& key, const NexeCallback& callback); |
| // Return the number of entries in the cache backend. |
| int Size(); |
| + // Return the cache key for |info| |
| + static std::string GetKey(const nacl::PnaclCacheInfo& info); |
| + |
| private: |
| friend class PnaclTranslationCacheEntry; |
| + friend class PnaclTranslationCacheTest; |
| // PnaclTranslationCacheEntry should only use the |
| // OpComplete and backend methods on PnaclTranslationCache. |
| void OpComplete(PnaclTranslationCacheEntry* entry); |