-
Notifications
You must be signed in to change notification settings - Fork 22
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
fanchat as unit test #46
Conversation
this isolates the problem away from the _full_ integration stack, because we are not touching Twisted at all here.
plus missing parameters
except now, um...
there's no drain on the end, of course it should be paused.
The problem here might actually be more fundamental than a bug. fanchat has an explicit flow-control cycle in it: the participant's router feeds into all the chat rooms that they're participating in; in turn, each chat room broadcasts back into the participant's router. The router is itself a We don't get an infinite loop because It might be nice to have some kind of cycle detection so that you get an error if you try to set this up without appropriate precautions. The right solution here would probably be to implement backpressure policy, specifically #37. If we had a |
'joined' and 'spoke' messages from Channels are fully cooked anyway; no need to push them through the Participant for command-processing.
OK, we could also just eliminate the cycle, which is apparently unnecessary and redundant. I have no idea why this shows coverage dropping. We should really switch to codecov, which seems to have fewer random bugs. |
Reviewed 3 of 4 files at r1, 1 of 1 files at r2, 4 of 4 files at r3. Comments from the review on Reviewable.io |
fanchat as unit test - fix some flow control bugs
this isolates the problem away from the full integration stack,
because we are not touching Twisted at all here.