Unverified Commit 6ce6d8e7 authored by Łukasz Magiera's avatar Łukasz Magiera Committed by GitHub

Merge pull request #12 from ipfs/feat/searchvalue

Implement SearchValue
parents 7a10aeb4 2874086f
......@@ -34,6 +34,11 @@ func (c *client) GetValue(ctx context.Context, key string, opts ...ropts.Option)
return c.vs.GetValue(ctx, key, opts...)
}
func (c *client) SearchValue(ctx context.Context, key string, opts ...ropts.Option) (<-chan []byte, error) {
log.Debugf("SearchValue: %s", key)
return c.vs.SearchValue(ctx, key, opts...)
}
func (c *client) FindProviders(ctx context.Context, key cid.Cid) ([]pstore.PeerInfo, error) {
return c.server.Providers(key), nil
}
......
......@@ -26,6 +26,10 @@ func (c *nilclient) GetValue(_ context.Context, _ string, _ ...ropts.Option) ([]
return nil, errors.New("tried GetValue from nil routing")
}
func (c *nilclient) SearchValue(_ context.Context, _ string, _ ...ropts.Option) (<-chan []byte, error) {
return nil, errors.New("tried SearchValue from nil routing")
}
func (c *nilclient) FindPeer(_ context.Context, _ peer.ID) (pstore.PeerInfo, error) {
return pstore.PeerInfo{}, nil
}
......
......@@ -90,6 +90,18 @@ func (c *offlineRouting) GetValue(ctx context.Context, key string, _ ...ropts.Op
return val, nil
}
func (c *offlineRouting) SearchValue(ctx context.Context, key string, _ ...ropts.Option) (<-chan []byte, error) {
out := make(chan []byte, 1)
go func() {
defer close(out)
v, err := c.GetValue(ctx, key)
if err == nil {
out <- v
}
}()
return out, nil
}
func (c *offlineRouting) FindPeer(ctx context.Context, pid peer.ID) (pstore.PeerInfo, error) {
return pstore.PeerInfo{}, ErrOffline
}
......
......@@ -14,9 +14,9 @@
"version": "3.0.9"
},
{
"hash": "QmdKS5YtmuSWKuLLgbHG176mS3VX3AKiyVmaaiAfvgcuch",
"hash": "QmaJ6QDUh7JKPPToaUZ4EtUsPBdrbSAG6zMTkzfEvZgz2j",
"name": "go-libp2p-routing",
"version": "2.5.0"
"version": "2.6.0"
},
{
"author": "whyrusleeping",
......
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