summaryrefslogtreecommitdiff
path: root/src/hash-backend.lisp
diff options
context:
space:
mode:
authorPiotr Szarmanski2022-12-30 18:29:24 +0100
committerPiotr Szarmanski2022-12-30 18:29:24 +0100
commit5afc44c1082ae7088511f318aa9bd3d4b25ba3c6 (patch)
treed4a30ac582f98b77a79a164d40f9a7e794e1c6b4 /src/hash-backend.lisp
parent855e79b7ffa37ac64de51defa18104ed897576b3 (diff)
Implement buffer reuse encoding.
This implements a buffer reuse mechanism in eris-encode. This is also a backwards incompatible change, as the provided OUTPUT-FUNCTION now has an additional argument and has to return an octet-vector buffer of equal size. This is not yet implemented optimally, but should amount to a reduce of memory usage and GC required, especially for larger files.
Diffstat (limited to 'src/hash-backend.lisp')
-rw-r--r--src/hash-backend.lisp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/hash-backend.lisp b/src/hash-backend.lisp
index c44c2d0..0fa095a 100644
--- a/src/hash-backend.lisp
+++ b/src/hash-backend.lisp
@@ -32,7 +32,7 @@
output-function (lambda (block reference)
(declare (type octet-vector block reference))
(setf (gethash reference hash-table)
- block)
+ (copy-seq block))
block)))))
(defmethod fetch-data (read-capability (backend hash-backend) &key &allow-other-keys)