Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Archive ¶
func Archive(model ShardedDagIndex) (io.Reader, error)
Archive writes a ShardedDagIndex to a CAR file
func View ¶
func View(root ipld.Link, blockMap map[ipld.Link]ipld.Block) (ShardedDagIndexView, ExtractError)
Types ¶
type DecodeFailureErorr ¶
type DecodeFailureErorr struct { failure.NamedWithStackTrace // contains filtered or unexported fields }
DecodeFailureErorr indicates an error in the structure of the ShardedDagIndex
func (DecodeFailureErorr) Error ¶
func (dfe DecodeFailureErorr) Error() string
func (DecodeFailureErorr) Unwrap ¶
func (dfe DecodeFailureErorr) Unwrap() error
type ExtractError ¶
type ExtractError interface { error // contains filtered or unexported methods }
ExtractError is a union type of UnknownFormatError and DecodeFailureErorr
func NewDecodeFailureError ¶
func NewDecodeFailureError(reason error) ExtractError
NewDecodeFailureError returns an ExtractError for a decode failure
func NewUnknownFormatError ¶
func NewUnknownFormatError(reason error) ExtractError
NewUnknownFormatError returns an ExtractError for an unknown format
type MultihashMap ¶
type MultihashMap[T any] interface { Get(mh.Multihash) T Has(mh.Multihash) bool Set(mh.Multihash, T) Delete(mh.Multihash) bool Size() int Iterator() iter.Seq2[mh.Multihash, T] }
MultihashMap is a generic for mapping multihashes to arbitrary data types
func NewMultihashMap ¶
func NewMultihashMap[T any](sizeHint int) MultihashMap[T]
NewMultihashMap returns a new map of multihash to a data type
type Position ¶
type Position = dm.PositionModel
Position describes an offet and length within a shard
type ShardedDagIndex ¶
type ShardedDagIndex interface { /** DAG root CID that the index pertains to. */ Content() ipld.Link /** Index information for shards the DAG is split across. */ Shards() MultihashMap[MultihashMap[Position]] }
ShardedDagIndex descriptes a DAG stored over one or multiple shards
type ShardedDagIndexView ¶
type ShardedDagIndexView interface { ShardedDagIndex SetSlice(shard mh.Multihash, slice mh.Multihash, position Position) Archive() (io.Reader, error) }
ShardedDagIndexView is an interface for building shard DAG indexes and writing them to CAR files
func Extract ¶
func Extract(r io.Reader) (ShardedDagIndexView, error)
Extract extracts a sharded dag index from a car
func FromShardArchives ¶
func FromShardArchives(content ipld.Link, shards [][]byte) (ShardedDagIndexView, error)
FromShardArchives creates a sharded DAG index by indexing blocks in the passed CAR shards.
func NewShardedDagIndexView ¶
func NewShardedDagIndexView(content ipld.Link, shardSizeHint int) ShardedDagIndexView
NewShardedDagIndexView constructs an empty ShardedDagIndexView
- content sets the content link -- shardSizeHint is used to preallocate the number of shards that will be used. Set to -1 for unknown
type UnknownFormatError ¶
type UnknownFormatError struct { failure.NamedWithStackTrace // contains filtered or unexported fields }
UnknownFormatError indicates an error attempting to read the car file
func (UnknownFormatError) Error ¶
func (ufe UnknownFormatError) Error() string
func (UnknownFormatError) Unwrap ¶
func (ufe UnknownFormatError) Unwrap() error