Apollo: multichannle component msg process

Created on 4 Jun 2019  ·  5Comments  ·  Source: ApolloAuto/apollo

If a component resigter more than 1 channles ,How the diffrent channle msg is handled?
If the snder frequenry is different, how the 2 channles sync the msg Proc?
Speciallly when 1 channle send msg frequently and anthoer never send msg, It seems that the Proc Function will not be called! Is This a bug? OR it just wokr like this?

Cyber Question

Most helpful comment

OK, I check the cyber source code ,And I found that all channle must have message to let the callback func called....
So it's a feature not a bug ..... Right?

Thank you for your question.

The multichannle component proc function trigger through the first channel,when the first channel data arrive,Cyber-Rt will chose other channel newest data,then call the component proc function。

All 5 comments

OK, I check the cyber source code ,And I found that all channle must have message to let the callback func called....
So it's a feature not a bug ..... Right?

OK, I check the cyber source code ,And I found that all channle must have message to let the callback func called....
So it's a feature not a bug ..... Right?

Thank you for your question.

The multichannle component proc function trigger through the first channel,when the first channel data arrive,Cyber-Rt will chose other channel newest data,then call the component proc function。

OK, I check the cyber source code ,And I found that all channle must have message to let the callback func called....
So it's a feature not a bug ..... Right?

Thank you for your question.

The multichannle component proc function trigger through the first channel,when the first channel data arrive,Cyber-Rt will chose other channel newest data,then call the component proc function。

Thanks for your reply.. But still one more problem, when other channle has no data yet , the Proc process will be pending even if the first channle has many new messages. So maybe this canbe improved.

@sinopec Other channels will cache a date queue with a timestamp. Each time Cyber-Rt will choose other channels' newest data. If there is no data published from other channels or data in other channels has been time out, you should check your data publisher logic in the specific channels, enlarge the time out threshold, or check the whole logic.

Please reopen if you have further questions @sinopec

Was this page helpful?
0 / 5 - 0 ratings