nasa / TrickHLA

TrickHLA: An IEEE 1516 High Level Architecture (HLA) Simulation Interoperability Standard Implementation for Trick Base Simulations
Other
38 stars 15 forks source link

Child threads are not sending data at the expected time for a larger cycle time #134

Closed dandexter closed 8 months ago

dandexter commented 8 months ago

HLA data going to and from Trick child threads that have a difference cycle rate than the main thread are sending data at the wrong time. The issue is that data is being sent on the same main thread frame boundary and not at the end of the child thread frame.

Data from the child thread should be sent on the main thread frame that corresponds to the end of the child thread frame.

Child |              |   child thread data cycle: 3
 Main |    |    |    |   main thread data cycle:  1
 Time 0    1    2    3
                  ^-- Check for child thread sending in main thread frame here.
                ^-- (child_cycle - main_cycle) = ( 3 - 1 )