1
0
mirror of https://github.com/falk-werner/webfuse synced 2026-03-02 03:40:24 +00:00

add test for read

This commit is contained in:
Falk Werner
2023-01-03 21:38:33 +01:00
parent 380e46f0da
commit 861671741f
3 changed files with 91 additions and 0 deletions

View File

@@ -103,6 +103,9 @@ public:
case request_type::unlink:
fs_unlink(reader, writer);
break;
case request_type::read:
fs_read(reader, writer);
break;
case request_type::readdir:
fs_readdir(reader, writer);
break;
@@ -283,6 +286,23 @@ private:
writer.write_i32(result);
}
void fs_read(messagereader & reader, messagewriter & writer)
{
auto const path = reader.read_str();
auto const size = reader.read_u32();
auto const offset = reader.read_u64();
auto const handle = reader.read_u64();
std::vector<char> buffer(size);
auto const result = fs_.read(path, buffer.data(), size, offset, handle);
writer.write_i32(result);
if (0 < result)
{
writer.write_data(buffer.data(), result);
}
}
void fs_readdir(messagereader & reader, messagewriter & writer)
{
auto const path = reader.read_str();