From a52c2d5ff7fb0e52bcf56e58917b94118af6a78e Mon Sep 17 00:00:00 2001 From: Chris Pacia Date: Tue, 7 Nov 2017 10:44:41 -0500 Subject: [PATCH] Send offline message CIDs when pushing to data nodes --- core/core.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/core/core.go b/core/core.go index 8c290ab290..560863deea 100644 --- a/core/core.go +++ b/core/core.go @@ -24,6 +24,7 @@ import ( "golang.org/x/net/context" "golang.org/x/net/proxy" "gx/ipfs/QmNp85zy9RLrQ5oQD4hPyS39ezrrXpcaa7R4Y9kxdWQLLQ/go-cid" + ma "gx/ipfs/QmXY77cVe7rVRQXZZQRioukUM7aRW3BTcAgJe12MCtb3Ji/go-multiaddr" "sync" ) @@ -152,6 +153,25 @@ func (n *OpenBazaarNode) publish(hash string) { log.Error(err) return } + pointers, err := n.Datastore.Pointers().GetByPurpose(ipfs.MESSAGE) + if err != nil { + log.Error(err) + return + } + // Check if we're seeding any outgoing messages and add their CIDs to the graph + for _, p := range pointers { + if len(p.Value.Addrs) > 0 { + s, err := p.Value.Addrs[0].ValueForProtocol(ma.P_IPFS) + if err != nil { + continue + } + c, err := cid.Decode(s) + if err != nil { + continue + } + graph = append(graph, *c) + } + } } for _, p := range n.PushNodes { go func(pid peer.ID) {