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

Clean up thaliTcpServersManager #602

Open
yaronyg opened this Issue Mar 7, 2016 · 0 comments

Comments

Projects
None yet
1 participant
@yaronyg
Member

yaronyg commented Mar 7, 2016

The current code is enormous because it is setting up and maintaining paired links between a variety of streams and servers. But if you examine the code closely you will see that there are just a tiny number of patterns being used. For example, we pipe streams in both directions and need to catch errors and log them and close events and really make sure everything closes (in theory we shouldn't need this since with a pipe if one side gets an end event it is supposed to trigger the end event on the other side but we are paranoid and always grab close just incase some failure throws an error but doesn't call end, it will always call close eventually). We have chains of these and if we just created a library to assert the right relationships and automatically create the right events the code would shrink by well more than 1/2 and be much more reliable to boot since we could reason about it more clearly. But right now we just don't have the time. :(

@yaronyg yaronyg added this to the V1 milestone Aug 3, 2016

@yaronyg yaronyg added 1 - Backlog and removed 0 - Icebox labels Aug 4, 2016

@yaronyg yaronyg added enhancement Node and removed 1 - Backlog labels Oct 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment