Skip to content

Commit d300f59

Browse files
committed
WriteBuffer: Add a method to write from a FRBuffer
1 parent d1d7873 commit d300f59

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

buffer.pxd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ cdef class WriteBuffer:
4444
cdef write_len_prefixed_bytes(self, bytes data)
4545
cdef write_bytestring(self, bytes string)
4646
cdef write_str(self, str string, str encoding)
47+
cdef write_frbuf(self, FRBuffer *buf)
4748
cdef write_cstr(self, const char *data, ssize_t len)
4849
cdef write_int16(self, int16_t i)
4950
cdef write_int32(self, int32_t i)

buffer.pyx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,12 @@ cdef class WriteBuffer:
173173
self.write_int32(<int32_t>size)
174174
self.write_cstr(buf, size)
175175

176+
cdef write_frbuf(self, FRBuffer *buf):
177+
cdef:
178+
ssize_t buf_len = buf.len
179+
if buf_len > 0:
180+
self.write_cstr(frb_read_all(buf), buf_len)
181+
176182
cdef write_cstr(self, const char *data, ssize_t len):
177183
self._check_readonly()
178184
self._ensure_alloced(len)

0 commit comments

Comments
 (0)