alamb commented on issue #7983:
URL: https://github.com/apache/arrow-rs/issues/7983#issuecomment-3164225211

   Update here -- the push decoder is looking quite nice. Here is a preview of 
its API:
   
   ```rust
    let mut decoder = get_decoder();
    loop {
       match decoder.try_decode().unwrap() {
          DecodeResult::NeedsData(ranges) => {
            // The decoder needs more data. Fetch the data for the given ranges
            // call decoder.push_ranges(ranges, data) and call again
            push_data(&mut decoder, ranges);
          }
          DecodeResult::Data(batch) => {
            // Successfully decoded the next batch of data
            println!("Got batch with {} rows", batch.num_rows());
          }
          DecodeResult::Finished => {
            // The decoder has finished decoding all data
            break;
          }
       }
    }
   ```
   
   My next steps:
   - [ ] Create a PR with just the Push metadata decoder
   - [ ] Test that I can rewrite the sync and async readers using the push 
decoder
   - [ ] Make a PR for the push decoder itself.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to