From ebb3af2759e4e9682f33edf72010e632df0b54e7 Mon Sep 17 00:00:00 2001 From: munna0908 Date: Fri, 27 Jun 2025 19:19:25 +0530 Subject: [PATCH] Revert "feat: enhance encode/decode procs for multithreading support (#20)" This reverts commit 03f71498fc413e650f8f1a6010be741972c2d3d6. --- leopard/leopard.nim | 35 +++++----- tests/helpers.nim | 80 ++++++++--------------- tests/testleopard.nim | 149 +++++++++++++++++------------------------- 3 files changed, 104 insertions(+), 160 deletions(-) diff --git a/leopard/leopard.nim b/leopard/leopard.nim index 71d23ee..615f7ad 100644 --- a/leopard/leopard.nim +++ b/leopard/leopard.nim @@ -48,8 +48,8 @@ type func encode*( self: var LeoEncoder, - data,parity: ptr UncheckedArray[ptr UncheckedArray[byte]], - dataLen,parityLen: int ): Result[void, cstring] = + data, + parity: var openArray[seq[byte]]): Result[void, cstring] = ## Encode a list of buffers in `data` into a number of `bufSize` sized ## `parity` buffers ## @@ -57,10 +57,10 @@ func encode*( ## `parity` - list of parity `buffers` of size `bufSize` ## - if dataLen != self.buffers: + if data.len != self.buffers: return err("Number of data buffers should match!") - if parityLen != self.parity: + if parity.len != self.parity: return err("Number of parity buffers should match!") # zero encode work buffer to avoid corrupting with previous run @@ -68,7 +68,7 @@ func encode*( zeroMem(self.workBufferPtr[i], self.bufSize) # copy data into aligned buffer - for i in 0.. 0: + copyMem(self.dataBufferPtr[i], addr data[i][0], self.bufSize) dataPtr[i] = self.dataBufferPtr[i] else: dataPtr[i] = nil # copy parity into aligned buffer for i in 0.. 0: copyMem(self.workBufferPtr[i], addr parity[i][0], self.bufSize) parityPtr[i] = self.workBufferPtr[i] else: diff --git a/tests/helpers.nim b/tests/helpers.nim index 3b43899..847e901 100644 --- a/tests/helpers.nim +++ b/tests/helpers.nim @@ -24,22 +24,22 @@ proc randomCRCPacket*(data: var openArray[byte]) = copyMem(addr data[4], unsafeAddr crc, sizeof(crc)) -proc checkCRCPacket*(data: ptr UncheckedArray[byte], len: int): bool = - if len < 16: - for i in 1.. 0: - dropRandomIdx(dataBuf,buffers, dataLosses) + dropRandomIdx(dataBuf, dataLosses) if parityLosses > 0: - dropRandomIdx(parityBuf,parity,parityLosses) + dropRandomIdx(parityBuf, parityLosses) - decoder.decode(dataBuf, parityBuf, recoveredBuf,buffers,parity,buffers).tryGet() + decoder.decode(dataBuf, parityBuf, recoveredBuf).tryGet() - for i in 0..