Passing NULL for the time base argument to configureLink indicates the (sub)component's current default time base should be used as the time base for the link. However, configureLink doesn't actually put in the current defaultTimeBase for the component and most often you end up with the first registered defaultTimeBase.
So, the following code does not work properly:
registerTimeBase("1ns",true)
Link* first_link = configureLink("first_port");
registerTimeBase("2ns",true)
Link* second_link = configureLink("second_port");
Both first_link and second_link end up with a defaultTimeBase of 1ns, but second_link should end up with a defaultTimeBase of 2ns.
Passing NULL for the time base argument to configureLink indicates the (sub)component's current default time base should be used as the time base for the link. However, configureLink doesn't actually put in the current defaultTimeBase for the component and most often you end up with the first registered defaultTimeBase.
So, the following code does not work properly:
registerTimeBase("1ns",true)
Link* first_link = configureLink("first_port");
registerTimeBase("2ns",true)
Link* second_link = configureLink("second_port");
Both first_link and second_link end up with a defaultTimeBase of 1ns, but second_link should end up with a defaultTimeBase of 2ns.