From f3be296cd51fb8f860b90e190df1400823060767 Mon Sep 17 00:00:00 2001 From: Adin Schmahmann Date: Fri, 6 Sep 2019 17:29:08 -0400 Subject: [PATCH] added discovery options to discovery based content routing --- routing.go | 9 +++++---- routing_test.go | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/routing.go b/routing.go index f5ebad0..91f3eca 100644 --- a/routing.go +++ b/routing.go @@ -85,12 +85,13 @@ func nsToCid(ns string) (cid.Cid, error) { return cid.NewCidV1(cid.Raw, h), nil } -func NewDiscoveryRouting(disc discovery.Discovery) *DiscoveryRouting { - return &DiscoveryRouting{disc} +func NewDiscoveryRouting(disc discovery.Discovery, opts ...discovery.Option) *DiscoveryRouting { + return &DiscoveryRouting{disc, opts} } type DiscoveryRouting struct { discovery.Discovery + opts []discovery.Option } func (r *DiscoveryRouting) Provide(ctx context.Context, c cid.Cid, bcast bool) error { @@ -98,12 +99,12 @@ func (r *DiscoveryRouting) Provide(ctx context.Context, c cid.Cid, bcast bool) e return nil } - _, err := r.Advertise(ctx, cidToNs(c)) + _, err := r.Advertise(ctx, cidToNs(c), r.opts...) return err } func (r *DiscoveryRouting) FindProvidersAsync(ctx context.Context, c cid.Cid, limit int) <-chan peer.AddrInfo { - ch, _ := r.FindPeers(ctx, cidToNs(c), discovery.Limit(limit)) + ch, _ := r.FindPeers(ctx, cidToNs(c), append([]discovery.Option{discovery.Limit(limit)}, r.opts...)...) return ch } diff --git a/routing_test.go b/routing_test.go index 1534a5b..c07a5d6 100644 --- a/routing_test.go +++ b/routing_test.go @@ -217,8 +217,8 @@ func TestDiscoveryRouting(t *testing.T) { d1 := &mockDiscoveryClient{h1, dserver} d2 := &mockDiscoveryClient{h2, dserver} - r1 := NewDiscoveryRouting(d1) - r2 := NewDiscoveryRouting(d2) + r1 := NewDiscoveryRouting(d1, discovery.TTL(time.Hour)) + r2 := NewDiscoveryRouting(d2, discovery.TTL(time.Hour)) c, err := nsToCid("/test") if err != nil {