Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The call-iterator concept is also an iterator #53

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

macro1
Copy link

@macro1 macro1 commented Apr 13, 2024

Description of change

Fixes #50 by adding __next__() as a method on CallIterator.

Internally, it seems grpc._channel._MultiThreadedRendezvous is used, which also has some other capabilities. However, as they aren't reflected in the documentation and this interface can be defined differently depending on usage, this does seem to be the right change.

Minimum Reproducible Example

Pull requests of any significance will not be accepted without minimum reproducible examples.
If your contribution is small enough (a few lines tops), a typing test might be enough, but an MRE might still
be requested. If in doubt, presume an MRE will be required.

Pull requests where an MRE is requested but not supplied will be closed.

"Reproducible" means you have given me enough materials to exercise runnable code that
demonstrates your change, on my local machine, with a minimum of fuss.

Gists, links to other repositories, or typing tests are not acceptable as an MRE.

If an MRE is needed (it probably is), the following must be provided, at a minimum, in
separate <details> blocks, using as few files as possible (templates are provided below):

  • One or more python files containing reproducing code.
  • Full set of shell commands (POSIX shell or bash only) required to create a venv, install
    dependencies, and generate proto.

Please see README.md for the rationale for why this is needed.

main.py
# Full python code to reproduce
if __name__ == "__main__":
    ...
run.sh
#!/usr/bin/env bash
set -o errexit -o nounset -o pipefail
python -m venv venv
source ./venv/bin/activate
pip install $INSERT_DEPENDENCIES_HERE
python main.py

Checklist:

  • I have verified my MRE is sufficient to demonstrate the issue and solution by attempting to execute it myself
    • OR I believe my contribution is minor enough that a typing test is sufficient.
  • I have added tests to typesafety/test_grpc.yml for all APIs added or changed by this PR
  • I have removed any code generation notices from anything seeded using mypy-protobuf.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CallIterator is missing __next__ method
1 participant