CONTRIBUTING: Document required encode buffer and data length exchange
Historically there have been some sharp edges in the public API where
encode_*() functions require an exactly-sized buffer despite the input
data being variable length. Fix that by requiring encode_*() APIs return
the encoded length to the caller, allowing the provided buffer to be
over-sized.
Change-Id: I8b67b2008910ed2dc39424a99fe348946baf584c
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e64c654..389952a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -267,6 +267,10 @@
[libpldm-iterator]:
https://github.com/openbmc/libpldm/commit/3a2c6589c5660d2066b612bae28ca393a8aa1c2b
+- [ ] My `encode_*()` APIs exchange with the caller the size of the destination
+ buffer and the length of the encoded data using an in-out buffer length
+ parameter
+
- [ ] My new public message codec functions take a `struct` representing the
message as a parameter
- Function prototypes must _not_ decompose the message to individual