westonpace opened a new pull request #9643:
URL: https://github.com/apache/arrow/pull/9643


   These items can all stand on their own and they are used by the async 
datasets conversion.
   
   MergeMap - Given AsyncGenerator<AsyncGenerator<T>> return AsyncGenerator<T>. 
 This method flattens a generator of generators into a generator of items.  It 
may reorder the items.
   
   ConcatMap - Same as MergeMap but it will only pull items from one inner 
subscription at a time.  This reduced parallelism allows items to be returned 
in-order.
   
   Async-reentrant Map - In some cases the map function is slow.  Even if the 
source is not async-reentrant this map can still be async-reentrant by allowing 
multiple instances of the map function to run at once.  The resulting mapped 
generator is async reentrant but it will not pull reentrantly from the source.
   
   Vector utilities - In order to make migrating from Iterator code to vector 
code easier I added some map style utilities.  These copy the vectors (where an 
iterator wouldn't) so some care should be taken but they can still be useful.
   
   Moved Future/AsyncGenerator into top level type_fwd.  This is needed for the 
RecordBatchGenerator alias in the same way Iterator is needed at the top level.
   
   Added `IsEnd` to `IterationTraits`.  This allows non-comparable types to be 
iterated on.  It allows us to create an AsyncGenerator<AsyncGenerator<T>> since 
AsyncGenerator is std::function and we can use an empty instance as an end 
token even though std::function is not comaprable.


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to