This client API change wraps bidirectional streaming requests in a context manager.
Bidirectional streams need to be able to spawn a task group to keep sending messages from the client to the server while the client is processing one of the messages of the server. In order to prevent corruption of the task group stack, task groups cannot wrap yield statements in generators. This is fixed by creating the task group in a context manager and yielding the generator for the server message from that context manager.
This client API change wraps bidirectional streaming requests in a context manager.
Bidirectional streams need to be able to spawn a task group to keep sending messages from the client to the server while the client is processing one of the messages of the server. In order to prevent corruption of the task group stack, task groups cannot wrap yield statements in generators. This is fixed by creating the task group in a context manager and yielding the generator for the server message from that context manager.
Fixes #36