X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2Frmr_set_stimeout.3.rst;h=fbd10715b8148aa0d9343b796f1e219ba61ef0de;hb=6b0369579da03d3ddd867211072ecd6a490339d9;hp=31b9c8046e1d0e5f6dae34fc75f686a0fa072a90;hpb=117030c67f7a3722e64f1ecc3305a5862b3b7ce9;p=ric-plt%2Flib%2Frmr.git diff --git a/docs/rmr_set_stimeout.3.rst b/docs/rmr_set_stimeout.3.rst index 31b9c80..fbd1071 100644 --- a/docs/rmr_set_stimeout.3.rst +++ b/docs/rmr_set_stimeout.3.rst @@ -1,56 +1,61 @@ - - .. 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_set_stimeout ============================================================================================ -RMR Library Functions -============================================================================================ - - -NAME --------------------------------------------------------------------------------------------- + + +RMR LIBRARY FUNCTIONS +===================== + + + +NAME +---- + rmr_set_stimeout - -SYNOPSIS --------------------------------------------------------------------------------------------- - + + +SYNOPSIS +-------- + :: - - #include - rmr_mbuf_t* rmr_set_stimeout( void* vctx, int rloops ); - - -DESCRIPTION --------------------------------------------------------------------------------------------- + #include + + int rmr_set_stimeout( void* vctx, int rloops ); + -The rmr_set_stimeout function sets the configuration for how -RMr will retry message send operations which complete with -either a *timeout* or *again* completion value. (Send + + +DESCRIPTION +----------- + +The ``rmr_set_stimeout`` function sets the configuration for +how RMR will retry message send operations which complete +with either a *timeout* or *again* completion value. (Send operations include all of the possible message send functions: *rmr_send_msg(), rmr_call(), rmr_rts_msg()* and *rmr_wh_send_msg().* The *rloops* parameter sets the maximum number of retry loops that will be attempted before giving up and returning the unsuccessful state to the user application. -Each retry loop is approximately 1000 attempts, and RMr does +Each retry loop is approximately 1000 attempts, and RMR does **not** invoke any sleep function between retries in the loop; a small, 1 mu-sec, sleep is executed between loop sets if the *rloops* value is greater than 1. - -Disabling Retries -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - + + +Disabling Retries +----------------- + By default, the send operations will execute with an *rloop* setting of 1; each send operation will attempt to resend the message approximately 1000 times before giving up. If the @@ -58,46 +63,52 @@ user application does not want to have send operations retry when the underlying transport mechanism indicates *timeout* or *again,* the application should invoke this function and pass a value of 0 (zero) for *rloops.* With this setting, all -RMr send operations will attempt a send operation only +RMR send operations will attempt a send operation only **once,** returning immediately to the caller with the state of that single attempt. - -RETURN VALUE --------------------------------------------------------------------------------------------- - + + +RETURN VALUE +------------ + This function returns a -1 to indicate that the *rloops* value could not be set, and the value *RMR_OK* to indicate success. - -ERRORS --------------------------------------------------------------------------------------------- - + + +ERRORS +------ + Currently errno is **not** set by this function; the only cause of a failure is an invalid context (*vctx*) pointer. - -EXAMPLE --------------------------------------------------------------------------------------------- - -The following is a simple example of how the rmr_set_stimeout -function is called. + + +EXAMPLE +------- + +The following is a simple example of how the +``rmr_set_stimeout`` function is called. :: - + #define NO_FLAGS 0 + char* port = "43086"; // port for message router listen int max_size = 4096; // max message size for default allocations void* mr_context; // message router context + mr_context = rmr_init( port, max_size, NO_FLAGS ); if( mr_context != NULL ) { rmr_set_stimeout( mr_context, 0 ); // turn off retries } + - - -SEE ALSO --------------------------------------------------------------------------------------------- - + + +SEE ALSO +-------- + rmr_alloc_msg(3), rmr_call(3), rmr_free_msg(3), rmr_init(3), rmr_payload_size(3), rmr_rcv_msg(3), rmr_rcv_specific(3), rmr_rts_msg(3), rmr_ready(3), rmr_mk_ring(3),