Unverified Commit 9eada816 authored by Steven Allen's avatar Steven Allen Committed by GitHub

Merge pull request #31 from ipfs/chore/retract-and-revert

Retract and revert 1.0.0
parents 7463091a 2d1d4ce6
......@@ -4,7 +4,7 @@ os:
language: go
go:
- 1.13.x
- 1.16.x
env:
global:
......
This diff is collapsed.
......@@ -9,11 +9,11 @@ import (
"github.com/cenkalti/backoff"
"github.com/ipfs/go-cid"
"github.com/ipfs/go-cidutil"
"github.com/ipfs/go-fetcher"
blocks "github.com/ipfs/go-ipfs-blockstore"
ipld "github.com/ipfs/go-ipld-format"
logging "github.com/ipfs/go-log"
"github.com/ipfs/go-merkledag"
"github.com/ipfs/go-verifcid"
cidlink "github.com/ipld/go-ipld-prime/linking/cid"
"github.com/libp2p/go-libp2p-core/routing"
)
......@@ -184,9 +184,9 @@ type Pinner interface {
}
// NewPinnedProvider returns provider supplying pinned keys
func NewPinnedProvider(onlyRoots bool, pinning Pinner, fetchConfig fetcher.FetcherConfig) KeyChanFunc {
func NewPinnedProvider(onlyRoots bool, pinning Pinner, dag ipld.DAGService) KeyChanFunc {
return func(ctx context.Context) (<-chan cid.Cid, error) {
set, err := pinSet(ctx, pinning, fetchConfig, onlyRoots)
set, err := pinSet(ctx, pinning, dag, onlyRoots)
if err != nil {
return nil, err
}
......@@ -208,7 +208,7 @@ func NewPinnedProvider(onlyRoots bool, pinning Pinner, fetchConfig fetcher.Fetch
}
}
func pinSet(ctx context.Context, pinning Pinner, fetchConfig fetcher.FetcherConfig, onlyRoots bool) (*cidutil.StreamingSet, error) {
func pinSet(ctx context.Context, pinning Pinner, dag ipld.DAGService, onlyRoots bool) (*cidutil.StreamingSet, error) {
set := cidutil.NewStreamingSet()
go func() {
......@@ -230,18 +230,11 @@ func pinSet(ctx context.Context, pinning Pinner, fetchConfig fetcher.FetcherConf
logR.Errorf("reprovide indirect pins: %s", err)
return
}
session := fetchConfig.NewSession(ctx)
for _, key := range rkeys {
set.Visitor(ctx)(key)
if !onlyRoots {
err := fetcher.BlockAll(ctx, session, cidlink.Link{key}, func(res fetcher.FetchResult) error {
clink, ok := res.LastBlockLink.(cidlink.Link)
if ok {
set.Visitor(ctx)(clink.Cid)
}
return nil
})
if onlyRoots {
set.Visitor(ctx)(key)
} else {
err := merkledag.Walk(ctx, merkledag.GetLinksWithDAG(dag), key, set.Visitor(ctx))
if err != nil {
logR.Errorf("reprovide indirect pins: %s", err)
return
......
......@@ -9,12 +9,11 @@ import (
"github.com/ipfs/go-cid"
ds "github.com/ipfs/go-datastore"
dssync "github.com/ipfs/go-datastore/sync"
"github.com/ipfs/go-fetcher"
"github.com/ipfs/go-ipfs-blockstore"
offline "github.com/ipfs/go-ipfs-exchange-offline"
mock "github.com/ipfs/go-ipfs-routing/mock"
cbor "github.com/ipfs/go-ipld-cbor"
_ "github.com/ipld/go-ipld-prime/codec/dagcbor"
merkledag "github.com/ipfs/go-merkledag"
peer "github.com/libp2p/go-libp2p-core/peer"
testutil "github.com/libp2p/go-libp2p-testing/net"
mh "github.com/multiformats/go-multihash"
......@@ -196,7 +195,7 @@ func TestReprovidePinned(t *testing.T) {
nodes, bstore := setupDag(t)
fetchConfig := fetcher.NewFetcherConfig(bsrv.New(bstore, offline.Exchange(bstore)))
dag := merkledag.NewDAGService(bsrv.New(bstore, offline.Exchange(bstore)))
for i := 0; i < 2; i++ {
clA, clB, idA, _ := setupRouting(t)
......@@ -216,7 +215,7 @@ func TestReprovidePinned(t *testing.T) {
keyProvider := NewPinnedProvider(onlyRoots, &mockPinner{
recursive: []cid.Cid{nodes[1]},
direct: []cid.Cid{nodes[3]},
}, fetchConfig)
}, dag)
reprov := NewReprovider(ctx, time.Hour, clA, keyProvider)
err := reprov.Reprovide()
......
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