NewMadeleine

Documentation

« back to PM2 home.
nm_rpc_private.h File Reference

Private header for the RPC interface; this is not part of the public API and is not supposed to be used by end-users. More...

#include <assert.h>
#include <nm_log.h>
#include <nm_core_interface.h>
Include dependency graph for nm_rpc_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nm_rpc_req_s
 an outgoing rpc request More...
 
struct  nm_rpc_token_s
 an incoming rpc request More...
 
struct  nm_rpc_service_s
 descriptor for a registered RPC service More...
 

Functions

 PUK_LIST_DECLARE_TYPE (nm_rpc_token)
 
 PUK_LIST_CREATE_FUNCS (nm_rpc_token)
 
void nm_rpc_req_delete (nm_rpc_req_t p_rpc_req)
 
static void nm_rpc_send (nm_rpc_service_t p_service, nm_gate_t p_gate, nm_tag_t tag, void *hptr, nm_len_t hlen, struct nm_data_s *p_body)
 
static void nm_rpc_req_set_priority (nm_rpc_req_t p_req, nm_prio_t priority)
 
static void nm_rpc_req_wait (nm_rpc_req_t p_req)
 
static void nm_rpc_req_wait_all (nm_rpc_req_t *p_reqs, int n)
 
static void * nm_rpc_service_get_ref (struct nm_rpc_service_s *p_service)
 
static nm_gate_t nm_rpc_get_source (struct nm_rpc_token_s *p_token)
 
static nm_tag_t nm_rpc_get_tag (struct nm_rpc_token_s *p_token)
 
static nm_rpc_service_t nm_rpc_get_service (struct nm_rpc_token_s *p_token)
 
static void * nm_rpc_token_get_ref (struct nm_rpc_token_s *p_token)
 
static void nm_rpc_token_set_ref (struct nm_rpc_token_s *p_token, void *ref)
 
static void nm_rpc_token_delay (struct nm_rpc_token_s *p_token)
 
static void nm_rpc_recv_header_data (nm_rpc_token_t p_token, struct nm_data_s *p_header)
 
static void nm_rpc_recv_header (nm_rpc_token_t p_token, void *hptr, nm_len_t hlen)
 
static void nm_rpc_irecv_body_data (struct nm_rpc_token_s *p_token, struct nm_data_s *p_body)
 
static void nm_rpc_irecv_body (nm_rpc_token_t p_token, void *ptr, nm_len_t len)
 

Detailed Description

Private header for the RPC interface; this is not part of the public API and is not supposed to be used by end-users.

Definition in file nm_rpc_private.h.

Function Documentation

◆ nm_rpc_get_service()

static nm_rpc_service_t nm_rpc_get_service ( struct nm_rpc_token_s p_token)
inlinestatic

Definition at line 123 of file nm_rpc_private.h.

References nm_rpc_token_s::p_service.

◆ nm_rpc_get_source()

static nm_gate_t nm_rpc_get_source ( struct nm_rpc_token_s p_token)
inlinestatic

Definition at line 111 of file nm_rpc_private.h.

References nm_sr_request_get_gate(), p_gate, and nm_rpc_token_s::request.

Here is the call graph for this function:

◆ nm_rpc_get_tag()

static nm_tag_t nm_rpc_get_tag ( struct nm_rpc_token_s p_token)
inlinestatic

Definition at line 117 of file nm_rpc_private.h.

References nm_sr_request_get_tag(), nm_rpc_token_s::request, and tag.

Here is the call graph for this function:

◆ nm_rpc_irecv_body()

static void nm_rpc_irecv_body ( nm_rpc_token_t  p_token,
void *  ptr,
nm_len_t  len 
)
inlinestatic

Definition at line 172 of file nm_rpc_private.h.

References len, nm_data_contiguous_build(), and nm_rpc_irecv_body_data().

Here is the call graph for this function:

◆ nm_rpc_irecv_body_data()

static void nm_rpc_irecv_body_data ( struct nm_rpc_token_s p_token,
struct nm_data_s p_body 
)
inlinestatic

Definition at line 167 of file nm_rpc_private.h.

References nm_rpc_token_s::bodyv, and nm_datav_add_chunk_data().

Referenced by nm_rpc_irecv_body().

Here is the call graph for this function:

◆ nm_rpc_recv_header()

static void nm_rpc_recv_header ( nm_rpc_token_t  p_token,
void *  hptr,
nm_len_t  hlen 
)
inlinestatic

Definition at line 160 of file nm_rpc_private.h.

References hlen, nm_data_contiguous_build(), and nm_rpc_recv_header_data().

Here is the call graph for this function:

◆ nm_rpc_recv_header_data()

◆ nm_rpc_req_delete()

void nm_rpc_req_delete ( nm_rpc_req_t  p_rpc_req)

private, exposed for inlining

Referenced by nm_rpc_req_wait(), and nm_rpc_req_wait_all().

◆ nm_rpc_req_set_priority()

static void nm_rpc_req_set_priority ( nm_rpc_req_t  p_req,
nm_prio_t  priority 
)
inlinestatic

Definition at line 83 of file nm_rpc_private.h.

References priority, and nm_rpc_req_s::priority.

◆ nm_rpc_req_wait()

static void nm_rpc_req_wait ( nm_rpc_req_t  p_req)
inlinestatic

Definition at line 88 of file nm_rpc_private.h.

References nm_rpc_req_delete(), nm_sr_swait(), nm_sr_request_s::p_session, and nm_rpc_req_s::request.

Referenced by nm_rpc_send().

Here is the call graph for this function:

◆ nm_rpc_req_wait_all()

static void nm_rpc_req_wait_all ( nm_rpc_req_t p_reqs,
int  n 
)
inlinestatic

Definition at line 94 of file nm_rpc_private.h.

References nm_rpc_req_delete(), and nm_sr_request_wait_all().

Here is the call graph for this function:

◆ nm_rpc_send()

static void nm_rpc_send ( nm_rpc_service_t  p_service,
nm_gate_t  p_gate,
nm_tag_t  tag,
void *  hptr,
nm_len_t  hlen,
struct nm_data_s p_body 
)
inlinestatic

Definition at line 76 of file nm_rpc_private.h.

References hlen, nm_rpc_isend(), nm_rpc_req_wait(), p_gate, and tag.

Here is the call graph for this function:

◆ nm_rpc_service_get_ref()

static void * nm_rpc_service_get_ref ( struct nm_rpc_service_s p_service)
inlinestatic

Definition at line 106 of file nm_rpc_private.h.

References nm_rpc_service_s::ref.

◆ nm_rpc_token_delay()

static void nm_rpc_token_delay ( struct nm_rpc_token_s p_token)
inlinestatic

Definition at line 138 of file nm_rpc_private.h.

References nm_rpc_token_s::delayed.

◆ nm_rpc_token_get_ref()

static void * nm_rpc_token_get_ref ( struct nm_rpc_token_s p_token)
inlinestatic

Definition at line 128 of file nm_rpc_private.h.

References nm_rpc_token_s::ref.

◆ nm_rpc_token_set_ref()

static void nm_rpc_token_set_ref ( struct nm_rpc_token_s p_token,
void *  ref 
)
inlinestatic

Definition at line 133 of file nm_rpc_private.h.

References nm_rpc_token_s::ref.

◆ PUK_LIST_CREATE_FUNCS()

PUK_LIST_CREATE_FUNCS ( nm_rpc_token  )

◆ PUK_LIST_DECLARE_TYPE()

PUK_LIST_DECLARE_TYPE ( nm_rpc_token  )