Mark wrote:
Regarding progressive / bandwidth selective loading, it may actually be simpler and more optimal overall to allow sending a profile key on the request (similar to LXST profiles), which will dynamically downscale and increase compression level at the node, before sending (that was my initial plan).
I love this idea! Could the same profile key also cover Resource compression? bz2 needs the whole block in RAM before it emits anything, so on a 256 KB MCU (nRF52840, microReticulum) pages cap out around 24 KB decompressed and can't stream. DEFLATE handles any page size in a 32 KB window and streams.
Something like "deflate instead of bz2", and the node serves the page that way. Nodes that don't know the key do what they do now; the client falls back to uncompressedd Resources, which already work at any size. Either nomadnet deflates the page bytes and hands them to Resource with auto_compress off, or Resource gets a codec flag. Would either fit the profile system as you have it?