Synchronising ns-3 according to the RTI clock was quite a hectic job, we initially started by assuming we have to write a new scheduler for the job then we looked into writing a new simulator for getting our worked done. Probably this was the correct design choice and we looked into various implementation.
Finally, we managed to trick ns-3 into thinking that Read time is nothing but the RTI time by creating a new simulator "RtiSimulator" similar to Real Time Simulator Implementation. The synchroniser implementation tweaked from wall clock synchroniser helped in doing the trick.
Now, in the present code, ns-3 advances according to the RTI clock and when ns-3 has nothing to do, it sends a time-advance request to the RTI and once all federates have send such requests for time equal to or less than the ns-3 Time Advance Request, RTI grants the request and time advances in ns-3.
Finally, we managed to trick ns-3 into thinking that Read time is nothing but the RTI time by creating a new simulator "RtiSimulator" similar to Real Time Simulator Implementation. The synchroniser implementation tweaked from wall clock synchroniser helped in doing the trick.
Now, in the present code, ns-3 advances according to the RTI clock and when ns-3 has nothing to do, it sends a time-advance request to the RTI and once all federates have send such requests for time equal to or less than the ns-3 Time Advance Request, RTI grants the request and time advances in ns-3.