western-hoolock opened a new issue, #1593:
URL: https://github.com/apache/mynewt-nimble/issues/1593

   Nimble seems to handle long reads (where the MTU is significantly smaller 
than the characteristic's size) automatically by calling the service callbacks 
multiple times with `BLE_GATT_ACCESS_OP_READ_CHR` for the characteristic. This 
works fine but my characteristic can change while a long read is in progress so 
I need to be able to know whether a long read is in progress so don't update 
the data in the middle of a long read.
   
   I've seen code that uses `if (ctxt->om->om_pkthdr_len > 8)` to determine if 
this read is a single read/start of a long read and then buffer the 
characteristic and serve that when that condition is not met to ensure the data 
doesn't get mixed up but I'm not sure what it's checking or how reliable that 
would be across different stacks.
   
   Is there any documented way to distinguish between a single read/start of 
long read and a partial read?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@mynewt.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to