Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FetchCallback ¶
type FetchCallback func(result FetchResult) error
FetchCallback is called for each node traversed during a fetch
type FetchResult ¶
type FetchResult struct {
Node ipld.Node
Path ipld.Path
LastBlockPath ipld.Path
LastBlockLink ipld.Link
}
FetchResult is a single node read as part of a dag operation called on a fetcher
type Fetcher ¶
type Fetcher interface {
// NodeMatching traverses a node graph starting with the provided root node using the given selector node and
// possibly crossing block boundaries. Each matched node is passed as FetchResult to the callback. Errors returned
// from callback will halt the traversal. The sequence of events is: NodeMatching begins, the callback is called zero
// or more times with a FetchResult, then NodeMatching returns.
NodeMatching(ctx context.Context, root ipld.Node, selector ipld.Node, cb FetchCallback) error
// BlockOfType fetches a node graph of the provided type corresponding to single block by link.
BlockOfType(ctx context.Context, link ipld.Link, nodePrototype ipld.NodePrototype) (ipld.Node, error)
// BlockMatchingOfType traverses a node graph starting with the given root link using the given selector node and
// possibly crossing block boundaries. The nodes will be typed using the provided prototype. Each matched node is
// passed as a FetchResult to the callback. Errors returned from callback will halt the traversal.
// The sequence of events is: BlockMatchingOfType begins, the callback is called zero or more times with a
// FetchResult, then BlockMatchingOfType returns.
BlockMatchingOfType(
ctx context.Context,
root ipld.Link,
selector ipld.Node,
nodePrototype ipld.NodePrototype,
cb FetchCallback) error
// Uses the given link to pick a prototype to build the linked node.
PrototypeFromLink(link ipld.Link) (ipld.NodePrototype, error)
}
Fetcher is an interface for reading from a dag. Reads may be local or remote, and may employ data exchange protocols like graphsync and bitswap
Click to show internal directories.
Click to hide internal directories.