MsgObj = Msg.OpenByPath("SomePath")
FldData = MsgObj:GetFieldData()
Note that the first line involves a round trip to the server. I am currently assuming the users will not be using coroutines and I am making the above work by lua_yield()ing back to where I called the interpreter, waiting for the open message to come back from the server, then lua_resume()ing back the message object. The problem with this is if the user uses a coroutine, the yield in Msg.OpenByPath() won't yield all the way back out. Is there some other way to break out of Lua execution all the way back to the initial call into the interpreter, leaving the state intact so I can resume it later once I have the available data?
(One thing I did look at was the downloading of files example in the PiL 2nd edition, however, I don't want to expect that level of competency from our users. Also, I want control back in the C code as quickly as possible to handle other network and UI events that Lua isn't involved with.)
Thanks for any insights you might be able to provide,
P.S. Sorry for the funny from name, I'm trying to fix that.