-
Josh Kunz authored
This is achieved by adding a new "message" field to the rp_elem struct that can be set independent of the rp_elem "source". I also added a special source called "MESSAGE" that implies there is no cptr contained in an elem, only a message. I also modified the CPInvokeRPSendArgs in the protocol (and CN_RP_SEND stuff in dispatch) to support a cptr, a message or both. CN_RP_RECV (both in the dispatch and in obj.c) has been modified to support returning message, cptr, or both. This uses that new multi-item response stuff added previously to get both the message and cptr to the client if they are present. One part that temporarily tripped me up was correctly generating a cn_dispatch_result_t for waiting recvs. I fixed it by exposing the cn_dispatch_result_item generation stuff in dispatch.c to obj.c.
57f0ea56