| 160 | bool isOpen() override { return r->isOpen(); } |
| 161 | void close() override { r->close(); } |
| 162 | size_t read(void* buffer, size_t n) override { |
| 163 | auto c = r->read(buffer, n); |
| 164 | if (c > 0) { |
| 165 | auto chars = reinterpret_cast<const char*>(buffer); |
| 166 | std::string buf = prefix; |
| 167 | buf.append(chars, chars + c); |
| 168 | s->write(buf.data(), buf.size()); |
| 169 | } |
| 170 | return c; |
| 171 | } |
| 172 | |
| 173 | private: |
| 174 | const std::shared_ptr<dap::Reader> r; |