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

Remove implementation of coroutine scope in generated services #35

Merged
merged 5 commits into from
Mar 14, 2019

Conversation

marcoferrer
Copy link
Owner

Implementing CoroutineScope in the generated services has proven to cause too many issues with ambiguous context / scope resolution.

Classes implementing CoroutineScope should have their life cycle bound to the start and stop of the unit of work they represent. Since service implementations generally have a life cycle that spans the life of the application, this makes them an Ill fit for implementing coroutine scope.

The original intent of implementing CoroutineScope was to give services a mechanism to provide an initial coroutine context for rpc calls. That initial context would be used to create a proper scope per rpc method invocation.

This pr introduces a new interface for services to implement that will still allow configuration of the initial rpc context. It will also allow less error prone usages of coroutines in service instances

@marcoferrer marcoferrer merged commit 19927b0 into develop Mar 14, 2019
@marcoferrer marcoferrer deleted the remove-coroutinescope-from-service-base branch March 19, 2019 03:49
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.

1 participant