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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user