Missing stuff

This commit is contained in:
Łukasz Magiera 2020-05-19 18:11:56 +02:00
parent 05bc399afc
commit 8f70192bf3
2 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,24 @@
package ffiwrapper
import (
"golang.org/x/xerrors"
"github.com/filecoin-project/go-bitfield/rle"
"github.com/filecoin-project/specs-actors/actors/abi"
)
// merge gaps between ranges which are close to each other
// TODO: more benchmarking to come up with more optimal number
const mergeGaps = 32 << 20
// TODO const expandRuns = 16 << 20 // unseal more than requested for future requests
func computeUnsealRanges(unsealed rlepluslazy.RunIterator, offset UnpaddedByteIndex, size abi.UnpaddedPieceSize) (rlepluslazy.RunIterator, error) {
todo := pieceRun(offset, size)
todo, err := rlepluslazy.Subtract(todo, unsealed)
if err != nil {
return nil, xerrors.Errorf("compute todo-unsealed: %w", err)
}
return rlepluslazy.JoinClose(todo, mergeGaps)
}

5
storiface/ffi.go Normal file
View File

@ -0,0 +1,5 @@
package storiface
import "errors"
var ErrSectorNotFound = errors.New("sector not found")