X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=docs%2Frmr_torcv_msg.3.rst;fp=docs%2Frmr_torcv_msg.3.rst;h=11e89408b769675293a0a52e7480c62b451eb843;hb=117030c67f7a3722e64f1ecc3305a5862b3b7ce9;hp=0000000000000000000000000000000000000000;hpb=2d9d6784b306047e94ca9816813e5007b00fd17e;p=ric-plt%2Flib%2Frmr.git diff --git a/docs/rmr_torcv_msg.3.rst b/docs/rmr_torcv_msg.3.rst new file mode 100644 index 0000000..11e8940 --- /dev/null +++ b/docs/rmr_torcv_msg.3.rst @@ -0,0 +1,159 @@ + + +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. CAUTION: this document is generated from source in doc/src/rtd. +.. To make changes edit the source and recompile the document. +.. Do NOT make changes directly to .rst or .md files. + + +============================================================================================ +Man Page: rmr_torcv_msg +============================================================================================ + +RMR Library Functions +============================================================================================ + + +NAME +-------------------------------------------------------------------------------------------- + +rmr_torcv_msg + +SYNOPSIS +-------------------------------------------------------------------------------------------- + + +:: + + #include + rmr_mbuf_t* rmr_torcv_msg( void* vctx, rmr_mbuf_t* old_msg, int ms_to ); + + + +DESCRIPTION +-------------------------------------------------------------------------------------------- + +The rmr_torcv_msg function will pause for *ms_to* +milliseconds waiting for a message to arrive. If a message +arrives before the timeout expires the message buffer +returned will have a status of RMR_OK and the payload will +contain the data received. If the timeout expires before the +message is received, the status will have the value +RMR_ERR_TIMEOUT. When a received message is returned the +message buffer will also contain the message type and length +set by the sender. If messages were queued while waiting for +the response to a previous invocation of rmr_call, the oldest +message is removed from the queue and returned without delay. + +The *vctx* pointer is the pointer returned by the rmr_init +function. *Old_msg* is a pointer to a previously used message +buffer or NULL. The ability to reuse message buffers helps to +avoid alloc/free cycles in the user application. When no +buffer is available to supply, the receive function will +allocate one. + +RETURN VALUE +-------------------------------------------------------------------------------------------- + +The function returns a pointer to the rmr_mbuf_t structure +which references the message information (state, length, +payload), or a nil pointer in the case of an extreme error. + +ERRORS +-------------------------------------------------------------------------------------------- + +The *state* field in the message buffer will be one of the +following: + + + +RMR_OK + + The message buffer (payload) references the received data. + + +RMR_ERR_INITFAILED + + The first call to this function must initialise an + underlying system notification mechanism. On failure, this + error is returned and errno will have the system error + status set. If this function fails to intialise, the poll + mechansim, it is likely that message receives will never + be successful. + + +RMR_ERR_TIMEOUT + + The timeout expired before a complete message was + received. All other fields in the message buffer are not + valid. + + +RMR_ERR_EMPTY + + A message was received, but it had no payload. All other + fields in the message buffer are not valid. + + + + +INVAL + + Parameter(s) passed to the function were not valid. + + +EBADF + + The underlying message transport is unable to process the + request. + + +ENOTSUP + + The underlying message transport is unable to process the + request. + + +EFSM + + The underlying message transport is unable to process the + request. + + +EAGAIN + + The underlying message transport is unable to process the + request. + + +EINTR + + The underlying message transport is unable to process the + request. + + +ETIMEDOUT + + The underlying message transport is unable to process the + request. + + +ETERM + + The underlying message transport is unable to process the + request. + + +EXAMPLE +-------------------------------------------------------------------------------------------- + + +SEE ALSO +-------------------------------------------------------------------------------------------- + +rmr_alloc_msg(3), rmr_call(3), rmr_free_msg(3), +rmr_get_rcvfd(3), rmr_init(3), rmr_payload_size(3), +rmr_rcv_msg(3), rmr_send_msg(3), rmr_rcv_specific(3), +rmr_rts_msg(3), rmr_ready(3), rmr_fib(3), rmr_has_str(3), +rmr_tokenise(3), rmr_mk_ring(3), rmr_ring_free(3)