lua.wire.memo.resolve
result = memo:resolve()
result = wire.memo(...):resolve()
If memo.state is "setup" then we memo:send() the memo. "setup" is the state a newly created memo will be in.
Wait for a result on our thread fifo ( wire.threads.us ) before returning.
Other memos may have been pulled and ignored for now. These memos can be found later in wire.memos
result is returned and can also be found in memo.result this should always be a table containing the result of the memo provided by the thread.
If a result was returned with result.fail set then the thread replied with a hard fail. A hard fail means the thread could not deal with your memo, so lua code broke, memo was invalid etc. This is a hard fail and will raise an error rather than return a result.
If the thread does not reply (probably a broken or missing task) then this will lock waiting on a result.
If the currently running thread is asked to halt then this will raise an error rather than return.
Note that this function ignores callbacks which are only called during wire.result