1. I am issuing a gatt characteristic (CHR1) write without the response requested from Central (BLUEPY/BLUEZ, Ubuntu 18)
2. Central than reads CHR2.
Is it possible that 2. could finish before 1. because 1. is issued w/o the response being required ?
For example, on CHR1 write, I'll modify CHR2, but I don't see that modification has happened when doing the read in 2. (I see an old value) leading me to believe that the ordering has changed.
I can't quite test the ordering on Nordic because:
onDataRead() callback doesn't get invoked.
CHR2->setReadAuthorizationCallback() will make the problem go away (in 2. I'll always see that 1. did modify CHR2) even if the callback is an empty function!