8 Commits

Author SHA1 Message Date
Chrysostomos Nanakos
f1878d6aaa
chore: orc support
Refactor public API to use `var openArray[seq[byte]]` instead of raw
pointers for ORC compatibility.

The previous API required callers to extract raw pointers from seqs
before calling encode/decode. With refc and shallowCopy, reference
counting kept buffers alive. ORC doesn't track raw pointers and can
reallocate seq buffers at yield points, leaving pointers dangling.

The new openArray API borrows data safely.

Also updates CI to Nim 2.2.4 and bumps version to 0.2.0.

Part of https://github.com/logos-storage/nim-leopard/issues/24

Signed-off-by: Chrysostomos Nanakos <chris@include.gr>
2025-12-24 01:43:25 +02:00
Jacek Sieka
2add2f1dc4
remove stew dep 2025-12-11 09:01:02 +01:00
Jacek Sieka
27941e9c59
chore: drop upraises 2025-12-10 22:31:55 +01:00
Eric
4d4fdf6210
Use nim v1.6+ (#12)
* Use nim v1.6+

nim-stew now requires nim >= 1.6, so nim-leopard must be bumped

* Use macos-13 (intel) runner image instead of arm
* change 1.2 to 1.6 in readme and .nimble
2024-06-20 13:20:55 +10:00
Mark Spanbroek
ae043fd262 Version 0.1.0
Using version number 0.1.0, so that we can introduce
non-breaking changes in 0.1.x versions, and breaking
changes in 0.2.0.
2022-11-14 13:29:19 +01:00
Michael Bradley, Jr
c4ecdd3499
v0.0.2 2022-06-18 11:04:36 -05:00
Dmitriy Ryajov
41cd86df5b
High level wrapper (#3)
* initial implementation and tests

* [wip] refactor checking of RS code validity

* [wip] point GHA badge link to main branch instead of initial_impl

* [wip] delete leftover echo at bottom of test_leopard.nim

* [wip] add basic usage info to README

* [wip] more basic info added to README re: requirements, installation, usage

* [wip] add config.nims with --tlsEmulation:off to check if it helps with perf on Windows

* [wip] use `object` instead of `object of CatchableError` for LeopardError

workaround for edge case encountered in context of nimbus-build-system project

* [wip] clarify wording in README re: stability

* [wip] can use `object of CatchableError` for LeopardError with workaround

* Initial implementation

* make Leo a case object

* initial test

* cleanup

* remove echo

* use `func` where possible

* comments, misc

* make construction more convenient

* add more tests

* more tests

* unused warnings

* remove sideeffects pragma

* fix importc pragma on unix

* fix windows build

* fix ci

* better warning

* adding more comprehensive tests

* moar tests

* add TODO for usage

* Update leopard/leopard.nim

Co-authored-by: Michael Bradley <michaelsbradleyjr@gmail.com>

* Update leopard/wrapper.nim

Co-authored-by: Michael Bradley <michaelsbradleyjr@gmail.com>

* add tests to reuse same encoder/decoder

* check that parity and data buffers are < 65536

* test that data+parity isn't > 65536

Co-authored-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2022-03-28 18:42:45 -06:00
Michael Bradley, Jr
5d42ae57ff
first commit 2022-03-07 16:29:47 -06:00