-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Currently, IStreamProviderRuntime is an internal interface.
IStreamProviderRuntime and the family of related interfaces expose runtime features essential to implementing new stream providers that are not based on, say, the IQueueAdapter interface (but which, naturally, still require runtime support).
However, making IStreamProviderRuntime public would require making a significant number of other interfaces and classes public as well:
StreamIdIConsistentRingProviderForGrainsIGrainRingRangeListenerIStreamConsumerExtensionIStreamProducerExtensionStreamDirectoryStreamQueueBalancerTypeIStreamFilterPredicateWrapperStreamPubSubTypeIStreamPubSubPubSubSubscriptionStateISystemTarget
I wonder if this is OK - while I think IStreamProviderRuntime is similar in intent to IStorageProviderRuntime, there is a stark contrast in the amount of internals exposed: IStorageProviderRuntime is currently an empty interface.
I understand that the Stream internals are currently being refactored. However, if you think it is acceptable to make IStreamProviderRuntime available to external stream providers in the current form in the meanwhile, I would be more than happy to create a PR with the required changes.
I could certainly use the runtime functionality exposed as a result.
Thanks for open sourcing Orleans - super cool stuff 👍