.if false
==================================================================================
- Copyright (c) 2019 Nokia
- Copyright (c) 2018-2019 AT&T Intellectual Property.
+ Copyright (c) 2019-2020 Nokia
+ Copyright (c) 2018-2020 AT&T Intellectual Property.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
&space
&ital(Port) is used to listen for connection requests from other RMR based applications.
-The value of &ital(max_msg_size) will be used when allocating zero copy send buffers
-which must be allocated, possibly, prior to the application knowing the actual size of
-a specific message.
+The &ital(max_msg_size) parameter is used to allocate receive buffers and is the
+maximum message size which the application expects to receive.
+This value is the sum of &bold(both) the maximum payload size &bold(and) the maximum
+trace data size.
+This value is also used as the default message size when allocating message buffers.
+Messages arriving which are longer than the given maximum will be dropped without
+notification to the application.
+A warning is written to standard error for the first message which is too large on
+each connection.
&space
&ital(Flags) allows for selection of some RMr options at the time of initialisation.
-These are set by ORing &cw(RMRFL_) constants from the RMr header file. Currently the
+These are set by ORing &cw(RMRFL) constants from the RMr header file. Currently the
following flags are supported:
&half_space
&beg_dlist(1i : &bold_font )
-&ditem(RMRFL_NONE)
+&diitem(RMRFL_NONE)
No flags are set.
&half_space
-&ditem(RMRFL_NOTHREAD)
+&diitem(RMRFL_NOTHREAD)
The route table collector thread is not to be started. This should only be used
by the route table generator application if it is based on RMr.
&half_space
-&ditem(RMRFL_MTCALL)
+&diitem(RMRFL_MTCALL)
Enable multi-threaded call support.
+
+&half_space
+&ditem(RMRFL_NOLOCK)
+ Some underlying transport providers (e.g. SI95) enable locking to be turned off
+ if the user application is single threaded, or otherwise can guarantee that RMR
+ functions will not be invoked concurrently from different threads. Turning off
+ locking can help make message receipt more efficient.
+ If this flag is set when the underlying transport does not support disabling
+ locks, it will be ignored.
&end_dlist
&h3(Multi-threaded Calling)
could safely use the function.
Further, timeouts were message count based and not time unit based.
Multi-threaded call support adds the ability for a user application with multiple threads
-to invoke a blocking call function with the guarentee that the correct response message
+to invoke a blocking call function with the guarantee that the correct response message
is delivered to the thread.
-The additional support is implemented with the &ital( rmr_mt_call() ) and &ital( rmr_mt_rcv() )
+The additional support is implemented with the &ital(rmr_mt_call()) and &ital(rmr_mt_rcv())
function calls.
&space
&half_space
&beg_dlist(1i : &bold_font )
-&ditem(RMR_SEED_RT)
+&diitem(RMR_SEED_RT)
Assumes this is the filename of the seed route table file to use. In normal situations,
the library will wait for an update from the route table generator (expected within a few seconds
of initialisation) before being able to send messages.
supply it to the library.
&half_space
-&ditem(RMR_RTG_SVC)
+&diitem(RMR_RTG_SVC)
The route table generator assumes that RMr is listening on a well known port (4561) by
default, but this environment variable can be used to change the listening port if
needed.
&ex_end
&h2(SEE ALSO )
+.ju off
rmr_alloc_msg(3),
rmr_call(3),
rmr_free_msg(3),
rmr_tokenise(3),
rmr_mk_ring(3),
rmr_ring_free(3)
-
-
-.qu
+.ju on