tree 399dc84cc5628926a45acaa7bb3b262bb2d1dfb9
parent 4d7d2edee2c108d43deb151e6e0fdceb56b73275
author Daniel Sanche <sanche@google.com> 1702422464 -0800
committer GitHub <noreply@github.com> 1702422464 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJleOfACRBK7hj4Ov3rIwAAMIEIAKcO3bRpkZ+cbbRlkC7H6/Ow
 UeHKTUn7nbciuhHxly49qvJskacgN9v87Tr73PTuUz5s6dW/hPItdQo0HkvuI0cV
 cSHKbfjSQ2ZgCKCqr/Z38DHdtBklP4XYzocRZbJnXvytocKcePGbDivLw0Fh9tZf
 LXLnNNrThS0bydvaXNfSRAe24RlijaTwWyXvbwlLOEXuN+zEaIjZQIJVBdkSw2Z5
 J7CLmeIx+f3xoG99CkwjOgd7WUzJQWemBOR/HnmwOlH8QmEMQXZqBI7t8bgDFWPQ
 bCL8n7y7Mp96rKd3ubBAmoaqAf1UAFwFPantBmmqI/uWwdm4tI+xG2hF5GsoiJg=
 =bdY9
 -----END PGP SIGNATURE-----
 

feat: retry and retry_async support streaming rpcs (#495)

From #485:

> Server streaming libraries return an iterable that can asynchronously yield data from the backend over time. Some of our libraries need to provide a wrapper around the raw stream to do some local processing, before passing the data to the user.
>
> It would be useful to wrap this whole pipeline in a retry decorator, so that if the stream breaks mid-way through, we can recover and continue yielding data through our generator as if nothing happened.
>
> Unfortunately, the current implementation returns the result of the target function directly, so generators will not yield values and exceptions through the retry block

This PR addresses the issue by adding retry_target_generator functions to both the async and sync retry modules, which yield through the target rather than call it directly. Generator mode can be enabled using the is_generator argument on the decorator.

Fixes #485
---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: Victor Chudnovsky <vchudnov@google.com>