From: Kevin D. <kev...@nt...> - 2010-12-27 07:49:41
|
On 26/12/2010 19:19, Bob Jacobsen wrote: > I haven't looked at the code in detail, but let me suggest another > approach. I haven't yet committed the code yet. > > Why are we having the throttle-using code worry about > release/dispatch/dispose, etc? It's this a system-specific thing > that the ThrottleManager should handle? I agree on principle that this should really be the way to go. This is then more akin to the idea that the throttle manager is your hand held throttle, and the throttle is really a loco on the track. > Another approach would be to have throttle-using-code just say it's > done with the throttle, and then let the system-specific > ThrottleManager worry about whether a release back to the system is > needed. That makes the using code much simpler: When it's done > talking to a particular address, if just drops its access to the > Throttle object. So in effect the throttle-using-code would say to the throttle manager I have finished with address 1234. Rather than at the moment, where it is directly telling the address. If any listeners are required then these can be dealt with via the Manager. Would you then use the throttle manger to proxy commands to and from the loco? Or deal with the loco directly? This all makes sense, the only worry I have is that this could potentially be quite a change in the way that throttles are handled. Which would potentially disrupt other peoples code and scripts, if attaching listeners, release/disposing is then done at the manager and not the throttle. Regards Kevin |