| 282 | using BlockReader::BlockReader; |
| 283 | |
| 284 | static AsyncGenerator<CSVBlock> MakeAsyncIterator( |
| 285 | AsyncGenerator<std::shared_ptr<Buffer>> buffer_generator, |
| 286 | std::unique_ptr<Chunker> chunker, std::shared_ptr<Buffer> first_buffer, |
| 287 | int64_t skip_rows) { |
| 288 | auto block_reader = std::make_shared<ThreadedBlockReader>(std::move(chunker), |
| 289 | first_buffer, skip_rows); |
| 290 | // Wrap shared pointer in callable |
| 291 | Transformer<std::shared_ptr<Buffer>, CSVBlock> block_reader_fn = |
| 292 | [block_reader](std::shared_ptr<Buffer> next) { return (*block_reader)(next); }; |
| 293 | return MakeTransformedGenerator(std::move(buffer_generator), block_reader_fn); |
| 294 | } |
| 295 | |
| 296 | Result<TransformFlow<CSVBlock>> operator()(std::shared_ptr<Buffer> next_buffer) { |
| 297 | if (buffer_ == nullptr) { |
nothing calls this directly
no test coverage detected