int main(int argc, char *argv[]) { NNTI_result_t rc; selfsend_args *ssa; char server_url[NNTI_URL_LEN]; logger_init(LOG_ERROR, NULL); pthread_barrier_init(&barrier2, NULL, 2); pthread_barrier_init(&barrier3, NULL, 3); rc=NNTI_init(NNTI_DEFAULT_TRANSPORT, NULL, &trans_hdl); rc=NNTI_get_url(&trans_hdl, server_url, NNTI_URL_LEN); launch_wait_threads(); pthread_barrier_wait(&barrier3); rc=NNTI_connect( &trans_hdl, server_url, 5000, &server_hdl); pthread_barrier_wait(&barrier2); rc=NNTI_alloc(&trans_hdl, NNTI_REQUEST_BUFFER_SIZE, 1, NNTI_SEND_SRC, &send_mr); ssa=(selfsend_args *)NNTI_BUFFER_C_POINTER(&send_mr); ssa->data.int_val =10; ssa->data.float_val =10.0; ssa->data.double_val=10.0; ssa->chksum=calc_checksum((const char *)&ssa->data, sizeof(data_t)); rc=NNTI_send(&server_hdl, &send_mr, &recv_mr, &send_wr); rc=NNTI_wait(&send_wr, 5000, &send_status); rc=NNTI_send(&server_hdl, &send_mr, NULL, &send_wr); rc=NNTI_wait(&send_wr, 5000, &send_status); pthread_barrier_wait(&barrier3); NNTI_free(&send_mr); join_wait_threads(); if (success) std::cout << "\nEnd Result: TEST PASSED" << std::endl; else std::cout << "\nEnd Result: TEST FAILED" << std::endl; return (success ? 0 : 1 ); }
static NNTI_result_t destroy_buffer(NNTI_buffer_t **buffer) { NNTI_result_t nnti_rc; char *b; log_debug(bq_debug_level, "enter"); b=NNTI_BUFFER_C_POINTER(*buffer); nnti_rc=NNTI_unregister_memory(*buffer); if (nnti_rc != NNTI_OK) { log_error(bq_debug_level, "failed unregistering queue buffer: %d", nnti_rc); } free(*buffer); *buffer=NULL; free(b); log_debug(bq_debug_level, "exit"); return(nnti_rc); }