• Daniel Martí's avatar
    blockstore: implement UseWholeCIDs · c2e497e2
    Daniel Martí authored
    Update the tests too, as a few expected whole CIDs.
    For now, just make them use the option.
    
    This required index.Index to gain a new method, GetAll, so that when
    using whole CIDs, methods like Get can return true if any of the
    matching indexed CIDs are an exact whole-CID match, and not just looking
    at the first matching indexed CID.
    
    GetAll is akin to an iteration over all matching indexed CIDs, and its
    callback returns a boolean to say if the iteration should continue.
    This allows stopping as soon as we're done.
    
    We also remove Index.Get, instead replacing it with a helper called
    GetFirst, which simply makes simple uses of GetAll a single line.
    
    We remove the non-specced and unused index implementations, too.
    They were left in place in case they were useful again,
    but they haven't been so far, and their code is still in git.
    Keeping them around just means updating more code when refactoring.
    
    While at it, make ZeroLengthSectionAsEOF take a boolean and return an
    option, just like the other boolean options, for consistency.
    
    Fixes #130.
    c2e497e2
insertionindex.go 4.4 KB