`rpdo_mapped` and `OnRpdoWrite` order

I have a CANopen component that writes an uint16_t to 2 separate objects in the same RPDO. Let's say it writes that number to [0x6000][0x01] and [0x6000][0x02], and they are both uint8_t. I am planning to react to the RPDO by overidding the OnRpdoWrite function, reading the rpdo_mapped[0x6000][0x01] and rpdo_mapped[0x6000][0x02] when the index:subindex is 0x6000:0x02, therefore I will react to it only once.

I want to ask if rpdo_mapped is fully written before OnRpdoWrite is called? Specifically in the this case, if I react when the index:subindex is 0x6000:0x01 instead of 0x6000:02, using the way described above, is it safe?

Edited by Uy Ha