Skip to content

Commit ed4a2f4

Browse files
authored
[WasmFS] Remove duplicated Directory code in backends. NFC (#16067)
1 parent a77b559 commit ed4a2f4

File tree

4 files changed

+7
-11
lines changed

4 files changed

+7
-11
lines changed

system/lib/wasmfs/backend.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,13 @@ class Backend {
2121

2222
public:
2323
virtual std::shared_ptr<DataFile> createFile(mode_t mode) = 0;
24-
virtual std::shared_ptr<Directory> createDirectory(mode_t mode) = 0;
24+
25+
// By default all backends create normal Directory instances for directories.
26+
// That is, the default behavior is to keep directory structure in-memory.
27+
virtual std::shared_ptr<Directory> createDirectory(mode_t mode) {
28+
return std::make_shared<Directory>(mode, this);
29+
}
30+
2531
virtual ~Backend() = default;
2632
};
2733

system/lib/wasmfs/js_file_backend.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,6 @@ class JSFileBackend : public Backend {
6767
std::shared_ptr<DataFile> createFile(mode_t mode) override {
6868
return std::make_shared<JSFile>(mode, this);
6969
}
70-
std::shared_ptr<Directory> createDirectory(mode_t mode) override {
71-
return std::make_shared<Directory>(mode, this);
72-
}
7370
};
7471

7572
// This function is exposed to users to instantiate a new JSBackend.

system/lib/wasmfs/memory_file_backend.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ class MemoryFileBackend : public Backend {
1818
std::shared_ptr<DataFile> createFile(mode_t mode) override {
1919
return std::make_shared<MemoryFile>(mode, this);
2020
}
21-
std::shared_ptr<Directory> createDirectory(mode_t mode) override {
22-
return std::make_shared<Directory>(mode, this);
23-
}
2421
};
2522

2623
backend_t createMemoryFileBackend() {

system/lib/wasmfs/proxied_file_backend.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,6 @@ class ProxiedBackend : public Backend {
9090
// This creates a file on a thread specified by the proxy member.
9191
return std::make_shared<ProxiedFile>(mode, this, backend, proxy);
9292
}
93-
94-
std::shared_ptr<Directory> createDirectory(mode_t mode) override {
95-
return std::make_shared<Directory>(mode, this);
96-
}
9793
};
9894

9995
// Create a proxied backend by supplying another backend.

0 commit comments

Comments
 (0)