kylebarron commented on issue #6587:
URL: https://github.com/apache/arrow-rs/issues/6587#issuecomment-2423827347

   To the extent I understand it's okay with futures because they're evaluated 
immediately, either asynchronously via 
https://github.com/PyO3/pyo3-async-runtimes or synchronously via a tokio 
runtime. It matters whether the _result_ of the future can be materialized as 
data and presented to Python or whether it should be preserved as a stream.
   
   With the stream returned from `ObjectStore::get`, I'm storing the 
`BoxStream` itself in a struct exported to Python 
https://github.com/developmentseed/object-store-rs/blob/c157fe2cb8da14c1e8eee297014bb4695d683cc3/object-store-rs/src/get.rs#L111-L115.
 Then when the Python async iteration [calls 
`__aiter__`](https://github.com/developmentseed/object-store-rs/blob/c157fe2cb8da14c1e8eee297014bb4695d683cc3/object-store-rs/src/get.rs#L170-L176),
 that creates a _new future_ based on [polling the 
stream](https://github.com/developmentseed/object-store-rs/blob/c157fe2cb8da14c1e8eee297014bb4695d683cc3/object-store-rs/src/get.rs#L134).


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