BMR - Logic of Rotation #13
-
Greeting everyone, We're in charge of developing BMR and at the moment we have a question regarding the rotation code of our BTP project. From my view, the BMR and BMC are using the same strategy to check whether the next relay message is able to relay by a BMR. However I'm not sure the logics behind. It would be great if you guys can help us clarify the below questions:
Sincerely, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
Beta Was this translation helpful? Give feedback.
How does the logic of rotation work?
A: To rotation, basically using Round-Robin with list of registered BMR in BMC.
Term of relayble of each BMR is configured by BMC.setLink method, and unit of term is based on height of block. also, it is related to 'max_aggregation' of BMC.
When becoming turn, BMR could delay to relay 'BlockUpdate' until end of term. but BMR should relay 'delayed - BlockUpdates' and 'ReceiptProofs' immediately at BTP-Message creation for reduce latency. in this case, if BMR doesn't relay on time ('delay_limit'), then rotate to next.
What is the purpose of the function skippable here?
A: check rotation when BMR doesn't relay immediately at BTP-Message creation
Wha…