| 126 | uint64_t Size() const { return contents_.size(); } |
| 127 | |
| 128 | virtual Status Read(uint64_t offset, size_t n, Slice* result, char* scratch) const { |
| 129 | if (offset > contents_.size()) { |
| 130 | return Status::InvalidArgument("invalid Read offset"); |
| 131 | } |
| 132 | if (offset + n > contents_.size()) { |
| 133 | n = contents_.size() - offset; |
| 134 | } |
| 135 | memcpy(scratch, &contents_[offset], n); |
| 136 | *result = Slice(scratch, n); |
| 137 | return Status::OK(); |
| 138 | } |
| 139 | |
| 140 | private: |
| 141 | std::string contents_; |
no test coverage detected