Skip to content
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.py totally doesn't work at all #41

Open
5 of 6 tasks
glyph opened this issue Dec 4, 2015 · 5 comments
Open
5 of 6 tasks

fanchat.py totally doesn't work at all #41

glyph opened this issue Dec 4, 2015 · 5 comments
Labels

Comments

@glyph
Copy link
Member

glyph commented Dec 4, 2015

Actually running sketches/fanchat.py produces confusingly broken behavior. I haven't conclusively traced everything to a single source, but I will enumerate some problems related to its dysfunction here:

  • fan.In doesn't update outstanding aggregate pauses when drains are added or removed
  • fan.Out doesn't update its list of drains even when a drain has told its fount to stopFlow
  • some of the commands echo back to the client when they shouldn't
  • the channels defaultdict can't construct Channel objects because the constructor takes an argument
  • _TransportDrain.flowingFrom breaks when self.fount is not None
  • python fanchat.py and then ^C results in a traceback since _OutFount.stopFlow is not idempotent

and probably others

@glyph glyph added the label Dec 5, 2015
@glyph
Copy link
Member Author

glyph commented Dec 6, 2015

Fixed some of these in d937800

@glyph
Copy link
Member Author

glyph commented Dec 6, 2015

_TransportDrain issue addressed by 18096a4

@glyph
Copy link
Member Author

glyph commented Dec 7, 2015

the points in fanchat.py itself addressed in 04c639a

@glyph
Copy link
Member Author

glyph commented Dec 8, 2015

#46 turns fanchat into a unit test (well okay more like an integration test) that illustrates the problem much more straightforwardly

@glyph
Copy link
Member Author

glyph commented Dec 8, 2015

#46 now has a viable fix in it; get rid of the backpressure cycle, which is a bug in fanchat. Other bugs were discovered in the course of this and they should also be fixed, of course...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant