X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fnng%2Fsrc%2Frmr_nng.c;h=7e0b37ee7e177c41cd97bd5494887f0097aa43aa;hb=refs%2Fchanges%2F15%2F515%2F1;hp=8a91544c448c37f9a413ae315ebf4040c08e469a;hpb=68d09fa5028e47e763c44c30647da31e77eda64a;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/nng/src/rmr_nng.c b/src/rmr/nng/src/rmr_nng.c index 8a91544..7e0b37e 100644 --- a/src/rmr/nng/src/rmr_nng.c +++ b/src/rmr/nng/src/rmr_nng.c @@ -524,17 +524,15 @@ extern rmr_mbuf_t* rmr_rcv_specific( void* vctx, rmr_mbuf_t* msg, char* expect, return NULL; } -// CAUTION: these are not supported as they must be set differently (between create and open) in NNG. -// until those details are worked out, these generate a warning. /* - Set send timeout. The value time is assumed to be microseconds. The timeout is the - rough maximum amount of time that RMr will block on a send attempt when the underlying + Set send timeout. The value time is assumed to be milliseconds. The timeout is the + _rough_ maximum amount of time that RMr will block on a send attempt when the underlying mechnism indicates eagain or etimeedout. All other error conditions are reported without this delay. Setting a timeout of 0 causes no retries to be attempted in - RMr code. Setting a timeout of 1 causes RMr to spin up to 10K retries before returning, - but without issuing a sleep. If timeout is > 1, then RMr will issue a sleep (1us) - after every 10K send attempts until the time value is reached. Retries are abandoned - if NNG returns anything other than NNG_AGAIN or NNG_TIMEDOUT. + RMr code. Setting a timeout of 1 causes RMr to spin up to 1K retries before returning, + but _without_ issuing a sleep. If timeout is > 1, then RMr will issue a sleep (1us) + after every 1K send attempts until the "time" value is reached. Retries are abandoned + if NNG returns anything other than NNG_EAGAIN or NNG_ETIMEDOUT. The default, if this function is not used, is 1; meaning that RMr will retry, but will not enter a sleep. In all cases the caller should check the status in the message returned @@ -559,6 +557,8 @@ extern int rmr_set_stimeout( void* vctx, int time ) { /* Set receive timeout -- not supported in nng implementation + + CAUTION: this is not supported as they must be set differently (between create and open) in NNG. */ extern int rmr_set_rtimeout( void* vctx, int time ) { fprintf( stderr, "[WRN] Current implementation of RMR ontop of NNG does not support setting a receive timeout\n" ); @@ -664,7 +664,7 @@ static void* init( char* uproto_port, int max_msg_size, int flags ) { } else { ctx->my_ip = get_default_ip( ctx->ip_list ); // and (guess) at what should be the default to put into messages as src if( ctx->my_ip == NULL ) { - fprintf( stderr, "[WARN] rmr_init: default ip address could not be sussed out, using name\n" ); + fprintf( stderr, "[WRN] rmr_init: default ip address could not be sussed out, using name\n" ); strcpy( ctx->my_ip, ctx->my_name ); // if we cannot suss it out, use the name rather than a nil pointer } } @@ -679,7 +679,7 @@ static void* init( char* uproto_port, int max_msg_size, int flags ) { // rather than using this generic listen() call. snprintf( bind_info, sizeof( bind_info ), "%s://%s:%s", proto, interface, port ); if( (state = nng_listen( ctx->nn_sock, bind_info, NULL, NO_FLAGS )) != 0 ) { - fprintf( stderr, "[CRIT] rmr_init: unable to start nng listener for %s: %s\n", bind_info, nng_strerror( state ) ); + fprintf( stderr, "[CRI] rmr_init: unable to start nng listener for %s: %s\n", bind_info, nng_strerror( state ) ); nng_close( ctx->nn_sock ); free_ctx( ctx ); return NULL; @@ -687,14 +687,14 @@ static void* init( char* uproto_port, int max_msg_size, int flags ) { if( !(flags & FL_NOTHREAD) ) { // skip if internal function that doesnt need an rtc if( pthread_create( &ctx->rtc_th, NULL, rtc, (void *) ctx ) ) { // kick the rt collector thread - fprintf( stderr, "[WARN] rmr_init: unable to start route table collector thread: %s", strerror( errno ) ); + fprintf( stderr, "[WRN] rmr_init: unable to start route table collector thread: %s", strerror( errno ) ); } } if( (flags & RMRFL_MTCALL) && ! (ctx->flags & CFL_MTC_ENABLED) ) { // mt call support is on, must start the listener thread if not running ctx->flags |= CFL_MTC_ENABLED; if( pthread_create( &ctx->mtc_th, NULL, mt_receive, (void *) ctx ) ) { // kick the receiver - fprintf( stderr, "[WARN] rmr_init: unable to start multi-threaded receiver: %s", strerror( errno ) ); + fprintf( stderr, "[WRN] rmr_init: unable to start multi-threaded receiver: %s", strerror( errno ) ); } }