class CacheNode
Defined at line 26 of file ../../src/storage/blobfs/cache_node.h
An abstract blob-backed Vnode, which is managed by the BlobCache.
Public Methods
void CacheNode (fs::PagedVfs & vfs, Digest digest)
Defined at line 18 of file ../../src/storage/blobfs/cache_node.cc
BlobCache & GetCache ()
Returns a reference to the BlobCache.
The BlobCache must outlive all CacheNodes; this method is invoked from the recycler of a
CacheNode.
The implementation of this method must not invoke any other CacheNode methods. The
implementation of this method must not attempt to acquire a reference to |this|.
bool ShouldCache ()
Identifies if the node should be recycled when it is terminated, keeping it cached (although
possibly in a reduced state).
This should be true as long as the blob exists on persistent storage, and would be visible
again on reboot.
The implementation of this method must not invoke any other CacheNode methods. The
implementation of this method must not attempt to acquire a reference to |this|.
void ~CacheNode ()
Defined at line 31 of file ../../src/storage/blobfs/cache_node.h
const Digest & digest ()
Defined at line 33 of file ../../src/storage/blobfs/cache_node.h
void fbl_recycle ()
Required for memory management, see the class comment above Vnode for more.
Defined at line 36 of file ../../src/storage/blobfs/cache_node.h
Protected Methods
void RecycleNode ()
Vnode memory management function called when the reference count reaches 0.
Defined at line 21 of file ../../src/storage/blobfs/cache_node.cc