static pmix_status_t send_oneway(struct pmix_peer_t *peer, pmix_buffer_t *bfr, pmix_ptl_tag_t tag) { pmix_ptl_queue_t *q; pmix_peer_t *pr = (pmix_peer_t*)peer; /* we have to transfer this to an event for thread * safety as we need to post this message on the * peer's send queue */ q = PMIX_NEW(pmix_ptl_queue_t); PMIX_RETAIN(pr); q->peer = pr; q->buf = bfr; q->tag = tag; PMIX_THREADSHIFT(q, pmix_ptl_base_send); return PMIX_SUCCESS; }
static pmix_status_t send_recv(struct pmix_peer_t *peer, pmix_buffer_t *bfr, pmix_ptl_cbfunc_t cbfunc, void *cbdata) { pmix_ptl_sr_t *ms; pmix_output_verbose(5, pmix_globals.debug_output, "[%s:%d] post send to server", __FILE__, __LINE__); ms = PMIX_NEW(pmix_ptl_sr_t); ms->peer = peer; ms->bfr = bfr; ms->cbfunc = cbfunc; ms->cbdata = cbdata; PMIX_THREADSHIFT(ms, pmix_ptl_base_send_recv); return PMIX_SUCCESS; }
static pmix_status_t send_recv(struct pmix_peer_t *peer, pmix_buffer_t *bfr, pmix_ptl_cbfunc_t cbfunc, void *cbdata) { pmix_ptl_sr_t *ms; pmix_peer_t *pr = (pmix_peer_t*)peer; pmix_output_verbose(2, pmix_ptl_base_framework.framework_output, "[%s:%d] post send to server", __FILE__, __LINE__); ms = PMIX_NEW(pmix_ptl_sr_t); PMIX_RETAIN(pr); ms->peer = pr; ms->bfr = bfr; ms->cbfunc = cbfunc; ms->cbdata = cbdata; PMIX_THREADSHIFT(ms, pmix_usock_send_recv); return PMIX_SUCCESS; }