Let’s say a device wants to publish a large file via CoAP block wise transfers. At present, mbed coap will break up a large entity, but the entire entity has to live in memory first, allowing mbed coap to “break it up” if it’s larger than the max blockwise size.
But lets say a large file ( such as a log ) is on flash, and cannot exist totally in memory because it’s too big. I suggest the coap stack add a feature where the user can provide the payload for each block via a callback. For example, the callback could indicate the size and the block number, and the client would then go read out that block from where ever. The coap stack would then properly wrap that payload in a coap block wise message response.
I think the stack supports something similar for PUT right now ( to support firmware updates ).