mirror of
https://github.com/status-im/nim-dagger.git
synced 2025-01-31 00:46:47 +00:00
f25c555d59
* Move to version 2.0.6 * Update nim-confutils submodule to latest version * Update dependencies * Update Nim version to 2.0.12 * Add gcsafe pragma * Add missing import * Update specific conf for Nim 2.x * Fix method signatures * Revert erasure coding attempt to fix bug * More gcsafe pragma * Duplicate code from libp2p because it is not exported anymore * Fix camelcase function names * Use alreadySeen because need is not a bool anymore * newLPStreamReadError does not exist anymore so use another error * Replace ValidIpAddress by IpAddress * Add gcsafe pragma * Restore maintenance parameter deleted by mistake when removing esasure coding fix attempt code * Update method signatures * Copy LPStreamReadError code from libp2p which was removed * Fix camel case * Fix enums in tests * Fix camel case * Extract node components to a variable to make Nim 2 happy * Update the tests using ValidIpAddress to IpAddress * Fix cast for value which is already an option * Set nim version to 2.0.x for CI * Set nim version to 2.0.x for CI * Move to miniupnp version 2.2.4 to avoid symlink error * Set core.symlinks to false for Windows for miniupnp >= 2.2.5 support * Update to Nim 2.0.14 * Update CI nim versions to 2.0.14 * Try with GCC 14 * Replace apt-fast by apt-get * Update ubuntu runner to latest * Use Ubuntu 20.04 for coverage * Disable CI cache for coverage * Add coverage property description * Remove commented test * Check the node value of seen instead of using alreadySeen * Fix the merge. The taskpool work was reverted. * Update nim-ethers submodule * Remove deprecated ValidIpAddress. Fix missing case and imports. * Fix a weird issue where nim-confutils cannot find NatAny * Fix tests and remove useless static keyword
48 lines
1.2 KiB
Nim
48 lines
1.2 KiB
Nim
## Nim-Codex
|
|
## Copyright (c) 2022 Status Research & Development GmbH
|
|
## Licensed under either of
|
|
## * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE))
|
|
## * MIT license ([LICENSE-MIT](LICENSE-MIT))
|
|
## at your option.
|
|
## This file may not be copied, modified, or distributed except according to
|
|
## those terms.
|
|
|
|
import pkg/upraises
|
|
|
|
push: {.upraises: [].}
|
|
|
|
import ../stores
|
|
|
|
type
|
|
ErasureBackend* = ref object of RootObj
|
|
blockSize*: int # block size in bytes
|
|
buffers*: int # number of original pieces
|
|
parity*: int # number of redundancy pieces
|
|
|
|
EncoderBackend* = ref object of ErasureBackend
|
|
DecoderBackend* = ref object of ErasureBackend
|
|
|
|
method release*(self: ErasureBackend) {.base, gcsafe.} =
|
|
## release the backend
|
|
##
|
|
raiseAssert("not implemented!")
|
|
|
|
method encode*(
|
|
self: EncoderBackend,
|
|
buffers,
|
|
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: var openArray[seq[byte]]
|
|
): Result[void, cstring] {.base, gcsafe.} =
|
|
## decode buffers using a backend
|
|
##
|
|
raiseAssert("not implemented!")
|