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
Refactor Orleans.Streaming into separate packages #6942
Conversation
139417f
to
1fa8462
Compare
1fa8462
to
6cae654
Compare
6cae654
to
f33d82f
Compare
return streamDirectory; | ||
} | ||
|
||
public async Task Reset(bool cleanup = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this method be called concurrently?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's only called during shutdown, so it shouldn't be
I think for now two packages is better than what we have now. We can see later if we want to move |
From a user's perspective it's better to have fewer separate packages if they are just for Orleans internal code separation. Even then, if this separation is really needed, it would be better to achieve by packaging multiple dll-s in the same nuget package. However, the reverse is true if the packages pull in additional external dependencies. Ideally, Related to this, we should start multi-targeting |
I agree with what you're saying. In this case, moving these pieces into a separate project is intended to help us iterate on them more quickly and keep the core more agile (less special cases, pay only for what you use in each activation/call). Even if we package them all into Orleans.Sdk/Orleans.Server/Orleans.Client or whatever metapackages we end up with (and I think we should aim for one or two packages per end-developer project. CodeGen should be included automatically as a part of the SDK package) The existing packaging scheme made sense originally, before Cosmos DB took over the SDK for one Azure Storage service but not the other... Maybe now is time to split them. |
Ideally, the core of Orleans only contains the basic functionality. This is a first-draft at moving the core streaming functionality out into separate packages: Orleans.Streaming & Orleans.Streaming.Abstractions.
We could aim for 3+ packages or 1 package, instead, depending on how we want to divide things.