Does the .Net Reactive Extensions Framework propagates the notifications in topological order to minimize the amount of updates?
Like Scala Rx does: Does .Net Reactive Extensions (Rx) ta
Does the .Net Reactive Extensions Framework propagates the notifications in topological order to minimize the amount of updates?
Like Scala Rx does: Does .Net Reactive Extensions (Rx) ta
.NET Rx uses several semantics while implementing FRP. The key point are the observables and subscriber contexts, especially the schedulers used by subscribers.
TL;DR - .NET RX does not use topological order while invoking notifications.
The long answer: subscibers are invoked by order of their subscription. In a case of concurrency-aware schedulers you could achive parallel invocation using methods ObserveOn/SubscribeOn (more detailed explanation).
Edit (Thanks to @DaveSexton):
Note that neither ObserveOn nor SubscribeOn achieve "parallel" notifications (unless you are comparing segments of the query on both sides of the operator). Note that neither ObserveOn nor SubscribeOn achieve "parallel" notifications (unless you are comparing segments of the query on both sides of the operator). Rx has a strict contract (§4.2) that prevents overlapping (concurrent) notifications within a single subscription, and for hot observables this contract generally applies across subscriptions as well.