aboutsummaryrefslogtreecommitdiffstats
path: root/pb_encode.h
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2014-04-05 11:26:39 +0300
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2014-04-05 11:26:39 +0300
commitb63e582bdb34b4727a8eb551fc72ee0476047a46 (patch)
tree37e19df37e51132052c54ce9b46d1cc9b16b0698 /pb_encode.h
parente5b855fec5d2977971f96d817728c7a3ee8077b2 (diff)
Add a convenience function pb_get_encoded_size()
There is minimal size penalty from this, and it is probably much more intuitive to use than PB_OSTREAM_SIZING itself. This has been suggested before also, but I ended up refusing it back them. Reconsidering it now, I see that an intuitive API is much better than any amount of documentation explaining a non-intuitive API. Update issue 16 Status: FixedInGit
Diffstat (limited to 'pb_encode.h')
-rw-r--r--pb_encode.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/pb_encode.h b/pb_encode.h
index 900994aa..f82bac8f 100644
--- a/pb_encode.h
+++ b/pb_encode.h
@@ -71,6 +71,10 @@ bool pb_encode(pb_ostream_t *stream, const pb_field_t fields[], const void *src_
*/
bool pb_encode_delimited(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct);
+/* Encode the message to get the size of the encoded data, but do not store
+ * the data. */
+bool pb_get_encoded_size(size_t *size, const pb_field_t fields[], const void *src_struct);
+
/**************************************
* Functions for manipulating streams *
**************************************/