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

Add Async Support on the CosumeOf Interface #36

Open
kdcllc opened this issue Jul 20, 2017 · 3 comments
Open

Add Async Support on the CosumeOf Interface #36

kdcllc opened this issue Jul 20, 2017 · 3 comments

Comments

@kdcllc
Copy link
Contributor

kdcllc commented Jul 20, 2017

I would like to see support for the async and await pattern thru the layers up to ConsumOf interface and its implementation. I am running with such in with one of my client.

@trailmax
Copy link
Member

That is a fine idea and I think I looked into that initially, but I have not implemented it because it involved significant amount of work. I remember I have tried it but got blocked by some of the async api and could not resolve that in short enough time, so I dropped it.

In principle, yes, it'll be great. In practice I'm very busy just now and no time to implement it in any forceible future.

@trailmax
Copy link
Member

@kdcllc I had a quick-stub at async functionality - available in async branch. Unfortunately async turtles all the way down. See this test. A lot of issues here:

  • A lot of breaking changes - need async methods on interfaces ISagaMediator, ISagaFactory.
  • Most likely will need IAsyncSagaMessage and IAsyncInitiatingSagaMessage to be sure the correct method is called with appropriate await
  • Possible wad of other changes that I don't see just now.

Basically will have to rewrite the whole thing from scratch and double the public API surface. As I suspected before this is a lot of work and time that I don't have just now.

@kdcllc
Copy link
Contributor Author

kdcllc commented Jul 31, 2017

@trailmax,
That what I thought. I do not have time at the moment as well, so I have wrap the code in the async tasks for now. Thanks!

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

No branches or pull requests

2 participants