Nasal Events: Difference between revisions

Jump to navigation Jump to search
m
Line 3: Line 3:
== Summary ==
== Summary ==
* Nasal code is often developed by people who are not primarily software developers
* Nasal code is often developed by people who are not primarily software developers
* Often, people end up instantiating multiple loops/callbacks accidently
* Often, people end up instantiating multiple loops/callbacks accidently, without really noticing it on fast systems
* In addition, the simulator may instantiate multiple callback instances (i.e. during reset/relocating)
* In addition, the simulator may instantiate multiple callback instances through signals (i.e. during reset/relocating)
* Multiple rogue Nasal callbacks invoked through timers or listeners may considerably slow down the simulator and require a complete restart
* Multiple rogue Nasal callbacks invoked through timers or listeners may considerably slow down the simulator and require a complete restart on some systems
* This issue is currently very hard to detect, because we only have a single "events" subsystem that shows up in the system monitor
* This issue is currently very hard to detect, because we only have a single "events" subsystem that shows up in the system monitor
* The system monitor does not provide any info about the number of callbacks, or their nature/origin
* The system monitor does not provide any info about the number of callbacks, or their nature/origin
* The overhead caused by Nasal callbacks run as through listeners or timers cannot currently be tracked easily or reliably
* end users and aircraft developers would prefer having some form of "process monitor" or watchdog for Nasal processes [https://code.google.com/p/flightgear-bugs/issues/detail?id=565]
* end users and aircraft developers would prefer having some form of "process monitor" or watchdog for Nasal processes [https://code.google.com/p/flightgear-bugs/issues/detail?id=565]
* We have currently no way to directly instantiate "singleton callbacks" to make the API more fool-proof
* We have currently no way to directly instantiate "singleton callbacks" to make the API more fool-proof

Navigation menu