Commit ec392edf authored by Kevin Atkinson's avatar Kevin Atkinson

Add some documentation on the intended purpose of GetLinks.

License: MIT
Signed-off-by: default avatarKevin Atkinson <k@kevina.org>
parent 26f7ee2f
...@@ -36,8 +36,10 @@ type DAGService interface { ...@@ -36,8 +36,10 @@ type DAGService interface {
} }
type LinkService interface { type LinkService interface {
// Return all links for a node, may be more effect than // GetLinks return all links for a node. The complete node does not
// calling Get in DAGService // necessarily have to exist locally, or at all. For example, raw
// leaves cannot possibly have links so there is no need to look
// at the node.
GetLinks(context.Context, *cid.Cid) ([]*node.Link, error) GetLinks(context.Context, *cid.Cid) ([]*node.Link, error)
GetOfflineLinkService() LinkService GetOfflineLinkService() LinkService
...@@ -114,6 +116,8 @@ func decodeBlock(b blocks.Block) (node.Node, error) { ...@@ -114,6 +116,8 @@ func decodeBlock(b blocks.Block) (node.Node, error) {
} }
} }
// GetLinks return the links for the node, the node doesn't necessarily have
// to exist locally.
func (n *dagService) GetLinks(ctx context.Context, c *cid.Cid) ([]*node.Link, error) { func (n *dagService) GetLinks(ctx context.Context, c *cid.Cid) ([]*node.Link, error) {
if c.Type() == cid.Raw { if c.Type() == cid.Raw {
return nil, nil return nil, nil
...@@ -138,8 +142,9 @@ func (n *dagService) Remove(nd node.Node) error { ...@@ -138,8 +142,9 @@ func (n *dagService) Remove(nd node.Node) error {
return n.Blocks.DeleteBlock(nd) return n.Blocks.DeleteBlock(nd)
} }
// get the links for a node, from the node, bypassing the // GetLinksDirect creates a function to get the links for a node, from
// LinkService // the node, bypassing the LinkService. If the node does not exist
// locally (and can not be retrieved) an error will be returned.
func GetLinksDirect(serv DAGService) GetLinks { func GetLinksDirect(serv DAGService) GetLinks {
return func(ctx context.Context, c *cid.Cid) ([]*node.Link, error) { return func(ctx context.Context, c *cid.Cid) ([]*node.Link, error) {
node, err := serv.Get(ctx, c) node, err := serv.Get(ctx, c)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment