1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-09-10 22:49:13 +08:00

selected changes from CR

This commit is contained in:
Jeromy
2015-01-16 06:17:18 +00:00
parent a7650b259d
commit a6ec12a17d
2 changed files with 14 additions and 7 deletions

View File

@ -7,7 +7,8 @@ import (
blocks "github.com/jbenet/go-ipfs/blocks/blockstore" blocks "github.com/jbenet/go-ipfs/blocks/blockstore"
routing "github.com/jbenet/go-ipfs/routing" routing "github.com/jbenet/go-ipfs/routing"
"github.com/jbenet/go-ipfs/util/eventlog" debugerror "github.com/jbenet/go-ipfs/util/debugerror"
eventlog "github.com/jbenet/go-ipfs/util/eventlog"
) )
var log = eventlog.Logger("reprovider") var log = eventlog.Logger("reprovider")
@ -34,22 +35,25 @@ func (rp *Reprovider) ProvideEvery(ctx context.Context, tick time.Duration) {
case <-ctx.Done(): case <-ctx.Done():
return return
case <-after: case <-after:
rp.Reprovide(ctx) err := rp.Reprovide(ctx)
if err != nil {
log.Error(err)
}
after = time.After(tick) after = time.After(tick)
} }
} }
} }
func (rp *Reprovider) Reprovide(ctx context.Context) { func (rp *Reprovider) Reprovide(ctx context.Context) error {
keychan, err := rp.bstore.AllKeysChan(ctx, 0, 1<<16) keychan, err := rp.bstore.AllKeysChan(ctx, 0, 1<<16)
if err != nil { if err != nil {
log.Errorf("Failed to get key chan from blockstore: %s", err) return debugerror.Errorf("Failed to get key chan from blockstore: %s", err)
return
} }
for k := range keychan { for k := range keychan {
err := rp.rsys.Provide(ctx, k) err := rp.rsys.Provide(ctx, k)
if err != nil { if err != nil {
log.Errorf("Failed to provide key: %s, %s", k, err) return debugerror.Errorf("Failed to provide key: %s, %s", k, err)
} }
} }
return nil
} }

View File

@ -33,7 +33,10 @@ func TestReprovide(t *testing.T) {
bstore.Put(blk) bstore.Put(blk)
reprov := NewReprovider(clA, bstore) reprov := NewReprovider(clA, bstore)
reprov.Reprovide(ctx) err := reprov.Reprovide(ctx)
if err != nil {
t.Fatal(err)
}
provs, err := clB.FindProviders(ctx, blk.Key()) provs, err := clB.FindProviders(ctx, blk.Key())
if err != nil { if err != nil {