I have a design where contract A is calling contract B, which then calls Oraclize a few times, and then sends the results back to contract A. The Oraclize calls could end up taking upwards of 30 minutes in certain cases.
Can I have contract B send the result back to contract A via a return value to the initial function call, even if it takes 30+ minutes to evaluate? Or do I have to use a callback function?
In other words, do Solidity functions time out?