aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/message.c12
-rw-r--r--src/core/message.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/src/core/message.c b/src/core/message.c
index 824fc079..52065bdd 100644
--- a/src/core/message.c
+++ b/src/core/message.c
@@ -456,6 +456,18 @@ nni_msg_realloc(nni_msg *m, size_t sz)
return (0);
}
+int
+nni_msg_reserve(nni_msg *m, size_t capacity)
+{
+ return (nni_chunk_grow(&m->m_body, capacity, 0));
+}
+
+size_t
+nni_msg_capacity(nni_msg *m)
+{
+ return ((size_t) ((m->m_body.ch_buf + m->m_body.ch_cap) - m->m_body.ch_ptr));
+}
+
void *
nni_msg_header(nni_msg *m)
{
diff --git a/src/core/message.h b/src/core/message.h
index 6400fd55..7e35ba75 100644
--- a/src/core/message.h
+++ b/src/core/message.h
@@ -17,6 +17,8 @@
extern int nni_msg_alloc(nni_msg **, size_t);
extern void nni_msg_free(nni_msg *);
extern int nni_msg_realloc(nni_msg *, size_t);
+extern int nni_msg_reserve(nni_msg *, size_t);
+extern size_t nni_msg_capacity(nni_msg *);
extern int nni_msg_dup(nni_msg **, const nni_msg *);
extern void * nni_msg_header(nni_msg *);
extern size_t nni_msg_header_len(const nni_msg *);