From f030357b57954e0aff98bd90c9b384b4e3959a01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Mon, 24 Sep 2018 16:12:47 +0200 Subject: [PATCH] namesys: use routing.SearchValue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit License: MIT Signed-off-by: Ɓukasz Magiera --- core/commands/name/ipns.go | 19 ++++++++++--------- namesys/routing.go | 14 +------------- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/core/commands/name/ipns.go b/core/commands/name/ipns.go index 8df592a037a..9ee2e8c5cff 100644 --- a/core/commands/name/ipns.go +++ b/core/commands/name/ipns.go @@ -159,16 +159,17 @@ Resolve the value of a dnslink: } return cmds.EmitOnce(res, &ResolvedPath{output}) - } else { - output := resolver.ResolveAsync(req.Context, name, ropts...) - for v := range output { - if v.Err != nil { - return err - } - if err := res.Emit(&ResolvedPath{v.Path}); err != nil { - return err - } + } + + output := resolver.ResolveAsync(req.Context, name, ropts...) + for v := range output { + if v.Err != nil { + return err } + if err := res.Emit(&ResolvedPath{v.Path}); err != nil { + return err + } + } return nil }, diff --git a/namesys/routing.go b/namesys/routing.go index c591d5662ea..6ac9f081a45 100644 --- a/namesys/routing.go +++ b/namesys/routing.go @@ -11,7 +11,6 @@ import ( cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid" mh "gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash" routing "gx/ipfs/QmVBnJDKhtFXTRVjXKinqpwGu8t1DyNqPKan2iGX8PR8xG/go-libp2p-routing" - ropts "gx/ipfs/QmVBnJDKhtFXTRVjXKinqpwGu8t1DyNqPKan2iGX8PR8xG/go-libp2p-routing/options" logging "gx/ipfs/QmZChCsSt8DctjceaL56Eibc29CVQq4dGKRXC5JRZ6Ppae/go-log" dht "gx/ipfs/QmZVakpN44VAUxs9eXAuUGLFYTCGmSyqSy6hyEKfMv68ME/go-libp2p-kad-dht" ipns "gx/ipfs/QmZrmn2BPZbSviQAWeyY2iXkCukmJHv9n7zrLgWU5KgbTb/go-ipns" @@ -89,7 +88,7 @@ func (r *IpnsResolver) resolveOnceAsync(ctx context.Context, name string, option // the value, which in turn verifies the ipns record signature ipnsKey := ipns.RecordKey(pid) - vals, err := r.searchValue(ctx, ipnsKey, dht.Quorum(int(options.DhtRecordCount))) + vals, err := r.routing.SearchValue(ctx, ipnsKey, dht.Quorum(int(options.DhtRecordCount))) if err != nil { log.Debugf("RoutingResolver: dht get for name %s failed: %s", name, err) out <- onceResult{err: err} @@ -173,14 +172,3 @@ func (r *IpnsResolver) resolveOnceAsync(ctx context.Context, name string, option return out } - -func (r *IpnsResolver) searchValue(ctx context.Context, key string, opts ...ropts.Option) (<-chan []byte, error) { - if ir, ok := r.routing.(*dht.IpfsDHT); ok { - return ir.SearchValue(ctx, key, opts...) - } - out := make(chan []byte, 1) - val, err := r.routing.GetValue(ctx, key, opts...) - out <- val - close(out) - return out, err -}