psm_error_t __psm_am_reply_short(psm_am_token_t token, psm_handler_t handler, psm_amarg_t *args, int nargs, void *src, size_t len, int flags, psm_am_completion_fn_t completion_fn, void *completion_ctxt) { psm_error_t err; struct psmi_am_token *tok; psm_epaddr_t epaddr; ptl_ctl_t *ptlc; PSMI_ASSERT_INITIALIZED(); psmi_assert_always(token != NULL); psmi_assert(handler >= 0 && handler < psmi_am_parameters.max_handlers); psmi_assert(nargs >= 0 && nargs <= psmi_am_parameters.max_nargs); psmi_assert(nargs > 0 ? args != NULL : 1); psmi_assert(len >= 0 && len <= psmi_am_parameters.max_reply_short); psmi_assert(len > 0 ? src != NULL : 1); tok = (struct psmi_am_token *)token; epaddr = tok->epaddr_from; ptlc = epaddr->ptlctl; /* No locking here since we are already within handler context and already * locked */ err = ptlc->am_short_reply(token, handler, args, nargs, src, len, flags, completion_fn, completion_ctxt); return err; }
psm_error_t __psm_am_request_short(psm_epaddr_t epaddr, psm_handler_t handler, psm_amarg_t *args, int nargs, void *src, size_t len, int flags, psm_am_completion_fn_t completion_fn, void *completion_ctxt) { psm_error_t err; ptl_ctl_t *ptlc = epaddr->ptlctl; PSMI_ASSERT_INITIALIZED(); psmi_assert(epaddr != NULL); psmi_assert(handler >= 0 && handler < psmi_am_parameters.max_handlers); psmi_assert(nargs >= 0 && nargs <= psmi_am_parameters.max_nargs); psmi_assert(nargs > 0 ? args != NULL : 1); psmi_assert(len >= 0 && len <= psmi_am_parameters.max_request_short); psmi_assert(len > 0 ? src != NULL : 1); PSMI_PLOCK(); err = ptlc->am_short_request(epaddr, handler, args, nargs, src, len, flags, completion_fn, completion_ctxt); PSMI_PUNLOCK(); return err; }
psm_error_t __psm_am_request_short(psm_epaddr_t epaddr, psm_handler_t handler, psm_amarg_t *args, int nargs, void *src, size_t len, int flags, psm_am_completion_fn_t completion_fn, void *completion_ctxt) { psm_error_t err; ptl_ctl_t *ptlc = epaddr->ptlctl; PSMI_ASSERT_INITIALIZED(); PSMI_PLOCK(); err = ptlc->am_short_request(epaddr, handler, args, nargs, src, len, flags, completion_fn, completion_ctxt); PSMI_PUNLOCK(); return err; }
psm_error_t __psm_am_reply_short(psm_am_token_t token, psm_handler_t handler, psm_amarg_t *args, int nargs, void *src, size_t len, int flags, psm_am_completion_fn_t completion_fn, void *completion_ctxt) { psm_error_t err; struct psmi_am_token *tok = (struct psmi_am_token *)token; psm_epaddr_t epaddr = tok->epaddr_from; ptl_ctl_t *ptlc = epaddr->ptlctl; psmi_assert_always(token != NULL); /* No locking here since we are already within handler context and already * locked */ PSMI_ASSERT_INITIALIZED(); err = ptlc->am_short_reply(token, handler, args, nargs, src, len, flags, completion_fn, completion_ctxt); return err; }