summaryrefslogtreecommitdiff
path: root/deps/nghttp2
diff options
context:
space:
mode:
Diffstat (limited to 'deps/nghttp2')
-rw-r--r--deps/nghttp2/lib/includes/nghttp2/nghttp2.h9
-rw-r--r--deps/nghttp2/lib/nghttp2_rcbuf.c4
2 files changed, 13 insertions, 0 deletions
diff --git a/deps/nghttp2/lib/includes/nghttp2/nghttp2.h b/deps/nghttp2/lib/includes/nghttp2/nghttp2.h
index 159010040c..848ef066be 100644
--- a/deps/nghttp2/lib/includes/nghttp2/nghttp2.h
+++ b/deps/nghttp2/lib/includes/nghttp2/nghttp2.h
@@ -470,6 +470,15 @@ NGHTTP2_EXTERN void nghttp2_rcbuf_decref(nghttp2_rcbuf *rcbuf);
NGHTTP2_EXTERN nghttp2_vec nghttp2_rcbuf_get_buf(nghttp2_rcbuf *rcbuf);
/**
+ * @function
+ *
+ * Returns 1 if the underlying buffer is statically allocated,
+ * and 0 otherwise. This can be useful for language bindings that wish to avoid
+ * creating duplicate strings for these buffers.
+ */
+NGHTTP2_EXTERN int nghttp2_rcbuf_is_static(const nghttp2_rcbuf *rcbuf);
+
+/**
* @enum
*
* The flags for header field name/value pair.
diff --git a/deps/nghttp2/lib/nghttp2_rcbuf.c b/deps/nghttp2/lib/nghttp2_rcbuf.c
index 24f561af97..7e7814d2d3 100644
--- a/deps/nghttp2/lib/nghttp2_rcbuf.c
+++ b/deps/nghttp2/lib/nghttp2_rcbuf.c
@@ -96,3 +96,7 @@ nghttp2_vec nghttp2_rcbuf_get_buf(nghttp2_rcbuf *rcbuf) {
nghttp2_vec res = {rcbuf->base, rcbuf->len};
return res;
}
+
+int nghttp2_rcbuf_is_static(const nghttp2_rcbuf *rcbuf) {
+ return rcbuf->ref == -1;
+}