Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
- Mnemonic rmr_mt_rcv_man.xfm
- Abstract The manual page for the rmr_mt_rcv function.
- Author E. Scott Daniels
- Date 24 May 2019
+ Mnemonic rmr_mt_rcv_man.xfm
+ Abstract The manual page for the rmr_mt_rcv function.
+ Author E. Scott Daniels
+ Date 24 May 2019
-period (milliseconds) has passed.
-The result is an RMr message buffer which references a received message.
+period (milliseconds) has passed.
+The result is an RMR message buffer which references a received message.
In the case of a timeout the state will be reflected in an "empty buffer" (if old_msg
was not nil, or simply with the return of a nil pointer.
If a timeout value of zero (0) is given, then the function will block until
In the case of a timeout the state will be reflected in an "empty buffer" (if old_msg
was not nil, or simply with the return of a nil pointer.
If a timeout value of zero (0) is given, then the function will block until
-The &ital(old_msg) parameter allows the user to pass a previously generated RMr
-message back to RMr for reuse.
+The &ital(old_msg) parameter allows the user to pass a previously generated RMR
+message back to RMR for reuse.
-is available.
-When a timeout occurs, and old_msg was not nil, the state will be returned
-by returning a pointer to the old message with the state set.
+is available.
+When a timeout occurs, and old_msg was not nil, the state will be returned
+by returning a pointer to the old message with the state set.
-It is possible to use the &ital(rmr_rcv_msg()) function instead of this function.
-Doing so might be advantagous if the user programme does not always start the
+It is possible to use the &ital(rmr_rcv_msg()) function instead of this function.
+Doing so might be advantageous if the user programme does not always start the
using epoll, and a small performance gain (if multi-threaded mode is enabled, and the
&ital(rmr_rcv_msg()) function is used, it simply invokes this function without
a timeout value, thus there is the small cost of a second call that results).
Similarly, the &ital(rmr_torcv_msg()) call can be used when in multi-threaded
mode with the same "pass through" overhead to using this function directly.
using epoll, and a small performance gain (if multi-threaded mode is enabled, and the
&ital(rmr_rcv_msg()) function is used, it simply invokes this function without
a timeout value, thus there is the small cost of a second call that results).
Similarly, the &ital(rmr_torcv_msg()) call can be used when in multi-threaded
mode with the same "pass through" overhead to using this function directly.
-When a message is received before the timeout period expires, a pointer to the
-RMr message buffer which describes the message is returned.
+When a message is received before the timeout period expires, a pointer to the
+RMR message buffer which describes the message is returned.
This will, with a high probability, be a different message buffer than &ital(old_msg;)
the user application should not continue to use &ital(old_msg) after it is passed
This will, with a high probability, be a different message buffer than &ital(old_msg;)
the user application should not continue to use &ital(old_msg) after it is passed
or a nil pointer if no old message was provided.
&h2(ERRORS)
The &ital(state) field in the message buffer will be set to one of the following
or a nil pointer if no old message was provided.
&h2(ERRORS)
The &ital(state) field in the message buffer will be set to one of the following
-&half_space
-&di(RMR_ERR_NOTSUPP) The multi-threaded option was not enabled when RMr was
-initialised. See the man page for &ital(rmr_init() ) for details.
+&ditem(RMR_ERR_NOTSUPP) The multi-threaded option was not enabled when RMR was
+initialised. See the man page for &ital(rmr_init()) for details.