mirror of
https://github.com/logos-storage/nim-leopard.git
synced 2026-01-05 23:23:07 +00:00
comments, misc
This commit is contained in:
parent
ad6c4abaf6
commit
0cc28b6670
@ -105,6 +105,8 @@ func decode*(
|
|||||||
for i in 0..<self.decodeBufferCount:
|
for i in 0..<self.decodeBufferCount:
|
||||||
zeroMem(self.decodeBufferPtr[i], self.bufSize)
|
zeroMem(self.decodeBufferPtr[i], self.bufSize)
|
||||||
|
|
||||||
|
# this is needed because erasures are identified
|
||||||
|
# with `nil` pointers
|
||||||
var
|
var
|
||||||
dataPtr = newSeq[LeoBufferPtr](data.len)
|
dataPtr = newSeq[LeoBufferPtr](data.len)
|
||||||
parityPtr = newSeq[LeoBufferPtr](self.workBufferCount)
|
parityPtr = newSeq[LeoBufferPtr](self.workBufferCount)
|
||||||
@ -147,23 +149,26 @@ func decode*(
|
|||||||
func free*(self: var Leo) =
|
func free*(self: var Leo) =
|
||||||
if self.workBufferPtr.len > 0:
|
if self.workBufferPtr.len > 0:
|
||||||
for i, p in self.workBufferPtr:
|
for i, p in self.workBufferPtr:
|
||||||
p.leoFree()
|
if not isNil(p):
|
||||||
self.workBufferPtr[i] = nil
|
p.leoFree()
|
||||||
|
self.workBufferPtr[i] = nil
|
||||||
|
|
||||||
self.workBufferPtr.setLen(0)
|
self.workBufferPtr.setLen(0)
|
||||||
|
|
||||||
if self.dataBufferPtr.len > 0:
|
if self.dataBufferPtr.len > 0:
|
||||||
for i, p in self.dataBufferPtr:
|
for i, p in self.dataBufferPtr:
|
||||||
p.leoFree()
|
if not isNil(p):
|
||||||
self.dataBufferPtr[i] = nil
|
p.leoFree()
|
||||||
|
self.dataBufferPtr[i] = nil
|
||||||
|
|
||||||
self.dataBufferPtr.setLen(0)
|
self.dataBufferPtr.setLen(0)
|
||||||
|
|
||||||
if self.kind == LeoCoderKind.Decoder:
|
if self.kind == LeoCoderKind.Decoder:
|
||||||
if self.decodeBufferPtr.len > 0:
|
if self.decodeBufferPtr.len > 0:
|
||||||
for i, p in self.decodeBufferPtr:
|
for i, p in self.decodeBufferPtr:
|
||||||
p.leoFree()
|
if not isNil(p):
|
||||||
self.decodeBufferPtr[i] = nil
|
p.leoFree()
|
||||||
|
self.decodeBufferPtr[i] = nil
|
||||||
self.decodeBufferPtr.setLen(0)
|
self.decodeBufferPtr.setLen(0)
|
||||||
|
|
||||||
# TODO: The destructor doesn't behave as
|
# TODO: The destructor doesn't behave as
|
||||||
|
|||||||
@ -43,4 +43,4 @@ suite "Leopard":
|
|||||||
check recovered[1] == data2
|
check recovered[1] == data2
|
||||||
finally:
|
finally:
|
||||||
encoder.free()
|
encoder.free()
|
||||||
decoder.free()
|
decoder.free()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user