If a function needed some heap memory for calculations then we had a function that returned the required size, user allocated one blob of memory and then passed that to async fn in which was used reinterpret cast to split one pointer to big heap space to multiple ptrs
If a function needed some heap memory for calculations then we had a function that returned the required size, user allocated one blob of memory and then passed that to async fn in which was used reinterpret cast to split one pointer to big heap space to multiple ptrs