engPutVariable()...how long and what workspace

1 view (last 30 days)
I'm trying to use engPutVariable and engGetVariable to transfer blocks of data between C and a Matlab engine.
Two related questions.
First if I create an engine pointer and then a mxArray in C and use mxGetPr or GetVariable for say a real DP array, and the pull function returns, is this blocking or non-blocking? Is this supposed to mean that the source Matlab base workspace variable or array is now in a complete, valid copy in C memory?
Second, how does this still work if I just open the engine but do not actually use say engExecuteString(), but still use mxPut-style calls to push data from C to Matlab? I'm wondering just how long after the mxPut returns in C, do I have to wait before I can rely on the data-transfer being complete in Matlab. Is there some relation between time and the size in Bytes of the transfer?

Answers (0)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!