class LazyDir

Defined at line 27 of file ../../src/storage/lib/vfs/cpp/lazy_dir.h

A |LazyDir| a base class for directories that dynamically update their contents on each

operation. Clients should derive from this class and implement GetContents and GetFile for their

use case. The base implementation of this class is thread-safe, but it is up to implementers to

ensure their implementations are thread safe as well.

Public Methods

fuchsia_io::NodeProtocolKinds GetProtocols ()

|Vnode| implementation.

Defined at line 42 of file ../../src/storage/lib/vfs/cpp/lazy_dir.cc

zx_status_t Readdir (VdirCookie * cookie, void * dirents, size_t len, size_t * out_actual)

Read the directory contents. Note that cookie->p is used to denote if the "." entry has been

returned. All IDs other than 0 are valid.

Defined at line 55 of file ../../src/storage/lib/vfs/cpp/lazy_dir.cc

zx_status_t Lookup (std::string_view name, fbl::RefPtr<fs::Vnode> * out_vnode)

Defined at line 44 of file ../../src/storage/lib/vfs/cpp/lazy_dir.cc

Protected Methods

void LazyDir ()

Defined at line 39 of file ../../src/storage/lib/vfs/cpp/lazy_dir.cc

void ~LazyDir ()

Defined at line 40 of file ../../src/storage/lib/vfs/cpp/lazy_dir.cc

void GetContents (LazyEntryVector * out_vector)

Get the contents of the directory in an output vector.

zx_status_t GetFile (fbl::RefPtr<Vnode> * out_vnode, uint64_t id, fbl::String name)

Get the reference to a single file. The id and name of the entry as returned from GetContents

are passed in to assist locating the file.

Records

Friends

class RefPtr
class MakeRefCountedHelper