You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
We're using rxcpp to send messages between components in our app, and we are running into some issues with the recursion, and nailed down our problems to action_tailrecurser, where we couldn't figure out the logic behind it.
Specifically action_tailrecurser::operator()
inline void operator()(const schedulable& s, const recurse& r) {
if (!f) {
std::terminate();
}
trace_activity().action_enter(s);
auto scope = s.set_recursed(r);
while (s.is_subscribed()) {
r.reset();
f(s);
if (!r.is_allowed() || !r.is_requested()) {
if (r.is_requested()) {
s.schedule();
}
break;
}
trace_activity().action_recurse(s);
}
trace_activity().action_return(s);
}
We can't really understand this condition:
if (!r.is_allowed() || !r.is_requested()) {
if (r.is_requested()) {
s.schedule();
}
break;
}
What is this trying to do? Can someone explain it in plain english please? :)
Thank you in advance!
The text was updated successfully, but these errors were encountered:
Hi,
We're using rxcpp to send messages between components in our app, and we are running into some issues with the recursion, and nailed down our problems to action_tailrecurser, where we couldn't figure out the logic behind it.
Specifically action_tailrecurser::operator()
We can't really understand this condition:
What is this trying to do? Can someone explain it in plain english please? :)
Thank you in advance!
The text was updated successfully, but these errors were encountered: