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
{{ message }}
This repository has been archived by the owner on Feb 3, 2018. It is now read-only.
Right now, the SourceMgr implementation (and its interaction with the contained source classes) is pretty messy. There is certainly some bad concurrency handling (as evidenced by intermittent failures of TestMultiDeduceThreadSafe()), and some race conditions. And, more generally, it's verging on spaghetti. It really needs refactoring.
The new model, I think, should make aggressive use of channels to manage the flow of calls and data through the system. It'd make it far easier to serialize and control access to segments where it's necessary, to offer the sort of control that would enable cancellation of calls (#159), and provide the sort of layering that would allow us to implement the needed on-disk caching (#130).
The text was updated successfully, but these errors were encountered:
Right now, the SourceMgr implementation (and its interaction with the contained source classes) is pretty messy. There is certainly some bad concurrency handling (as evidenced by intermittent failures of
TestMultiDeduceThreadSafe()
), and some race conditions. And, more generally, it's verging on spaghetti. It really needs refactoring.The new model, I think, should make aggressive use of channels to manage the flow of calls and data through the system. It'd make it far easier to serialize and control access to segments where it's necessary, to offer the sort of control that would enable cancellation of calls (#159), and provide the sort of layering that would allow us to implement the needed on-disk caching (#130).
The text was updated successfully, but these errors were encountered: