Correct inability to extend payload for rts msg
[ric-plt/lib/rmr.git] / doc / src / man / rmr_rts_msg.3.xfm
index a5251d4..015c03c 100644 (file)
@@ -1,6 +1,6 @@
 .if false
 ==================================================================================
-       Copyright (c) 2019 Nokia 
+       Copyright (c) 2019 Nokia
        Copyright (c) 2018-2019 AT&T Intellectual Property.
 
    Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
 .fi
 
 .gv e LIB lib
-.im &{lib}/man/setup.im 
+.im &{lib}/man/setup.im
 
 &line_len(6i)
 
@@ -43,13 +43,26 @@ rmr_mbuf_t*  rmr_rts_msg( void* vctx, rmr_mbuf_t* msg );
 
 &h2(DESCRIPTION)
 The &cw(rmr_rts_msg) function sends a message returning it to the endpoint
-which sent the message rather than selecting an endpoint based on the 
-message type and routing table. 
+which sent the message rather than selecting an endpoint based on the
+message type and routing table.
 Other than this small difference, the behaviour is exactly the same as
 &cw(rmr_send_msg.)
 
 .** pull in common retry text
-.im &{lib}/man/retry.im 
+.im &{lib}/man/retry.im
+
+&h2(PAYLOAD SIZE)
+When crafting a response based on a received message, the user application must
+take care not to write more bytes to the message payload than the allocated message
+has.
+In the case of a received message, it is possible that the response needs to be
+larger than the payload associated with the inbound message.
+In order to use the return to sender function, the source infomration in the orignal
+message must be present in the response; information which cannot be added to a
+message buffer allocated through the standard RMR allocation function.
+To allocate a buffer with a larger payload, and which retains the necessary sender
+data needed by this function, the &ital(rmr_realloc_payload()) function must be
+used to extend the payload to a size suitable for the response.
 
 &h2(RETURN VALUE)
 On success, a new message buffer, with an empty payload, is returned for the application
@@ -58,18 +71,18 @@ The state in this buffer will reflect the overall send operation state and shoul
 &cw(RMR_OK.)
 
 &space
-If the state in the returned buffer is anything other than &cw(UT_OK,) the user application 
+If the state in the returned buffer is anything other than &cw(UT_OK,) the user application
 may need to attempt a retransmission of the message, or take other action depending on the
-setting of &cw(errno) as described below. 
+setting of &cw(errno) as described below.
 
 &space
-In the event of extreme failure, a NULL pointer is returned. In this case the value of 
-&cw(errno) might be of some use, for documentation, but there will be little that the 
+In the event of extreme failure, a NULL pointer is returned. In this case the value of
+&cw(errno) might be of some use, for documentation, but there will be little that the
 user application can do other than to move on.
 
 &h2(ERRORS)
 The following values may be passed back in the &ital(state) field of the returned message
-buffer. 
+buffer.
 
 &space
 &beg_dlist(.75i : ^&bold_font )