#include "../common/nm_examples_helper.h"
#include <stdio.h>
static const char*p_msg = "hello world";
int main(int argc, char**argv)
{
{
char*p_ptr = NULL;
while(p_ptr == NULL)
{
}
printf("received message: %s\n", p_ptr);
padico_free(p_ptr);
}
else
{
printf("received queue id = %d\n", q);
p_msg, strlen(p_msg) + 1, &
req);
}
}
void nm_onesided_finalize(nm_onesided_t p_onesided)
void nm_onesided_init(nm_session_t p_session, nm_onesided_t *pp_onesided)
initialize the interface, using the given session.
void nm_onesided_req_wait(nm_onesided_request_t *p_req)
wait for this request completion
int nm_onesided_queue_id_t
local id for a queue
nm_onesided_queue_id_t nm_onesided_queue_create(nm_onesided_t p_onesided)
create a local queue, accessible remotely
void nm_onesided_queue_ienqueue(nm_onesided_t p_onesided, struct nm_gate_s *p_gate, nm_onesided_queue_id_t queue, const void *p_ptr, nm_len_t len, nm_onesided_request_t *p_req)
enqueue a message in the given remote queue, non-blocking version
void * nm_onesided_queue_dequeue(nm_onesided_t p_onesided, nm_onesided_queue_id_t queue)
try to dequeue an entry from local queue; return NULL if queue is empty.
nm_tag_t tag
the user-supplied tag
static void nm_examples_init(int *argc, char *argv[])
static nm_session_t p_session
static void nm_examples_exit(void)
static int nm_sr_recv(nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, void *data, nm_len_t len)
blocking recv
static int nm_sr_send(nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const void *data, nm_len_t len)
blocking send
uint64_t nm_tag_t
user tags, 64 bits, contained in indirect hashtable
a send request for onesided
an instance of interface 'onesided'