Skip to content
8 changes: 2 additions & 6 deletions codex/erasure/backend.nim
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,14 @@ method release*(self: ErasureBackend) {.base, gcsafe.} =
raiseAssert("not implemented!")

method encode*(
self: EncoderBackend,
buffers, parity: ptr UncheckedArray[ptr UncheckedArray[byte]],
dataLen, parityLen: int,
self: EncoderBackend, data, parity: var openArray[seq[byte]]
): Result[void, cstring] {.base, gcsafe.} =
## encode buffers using a backend
##
raiseAssert("not implemented!")

method decode*(
self: DecoderBackend,
buffers, parity, recovered: ptr UncheckedArray[ptr UncheckedArray[byte]],
dataLen, parityLen, recoveredLen: int,
self: DecoderBackend, data, parity, recovered: var openArray[seq[byte]]
): Result[void, cstring] {.base, gcsafe.} =
## decode buffers using a backend
##
Expand Down
14 changes: 5 additions & 9 deletions codex/erasure/backends/leopard.nim
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,11 @@ type
decoder*: Option[LeoDecoder]

method encode*(
self: LeoEncoderBackend,
data, parity: ptr UncheckedArray[ptr UncheckedArray[byte]],
dataLen, parityLen: int,
self: LeoEncoderBackend, data, parity: var openArray[seq[byte]]
): Result[void, cstring] =
## Encode data using Leopard backend

if parityLen == 0:
if parity.len == 0:
return ok()

var encoder =
Expand All @@ -38,12 +36,10 @@ method encode*(
else:
self.encoder.get()

encoder.encode(data, parity, dataLen, parityLen)
encoder.encode(data, parity)

method decode*(
self: LeoDecoderBackend,
data, parity, recovered: ptr UncheckedArray[ptr UncheckedArray[byte]],
dataLen, parityLen, recoveredLen: int,
self: LeoDecoderBackend, data, parity, recovered: var openArray[seq[byte]]
): Result[void, cstring] =
## Decode data using given Leopard backend

Expand All @@ -54,7 +50,7 @@ method decode*(
else:
self.decoder.get()

decoder.decode(data, parity, recovered, dataLen, parityLen, recoveredLen)
decoder.decode(data, parity, recovered)

method release*(self: LeoEncoderBackend) =
if self.encoder.isSome:
Expand Down
Loading
Loading