Add comments; Check ctx.Err(); Move import
License: MIT Signed-off-by: Michael Avila <davidmichaelavila@gmail.com>
Michael Avila committed
Mar 20, 2019 at 14:13 UTC
019af7507582cb16074ecbed8fa501a14714643e
2 files changed
+6
-5
core/core.go
+1
-1
@@ -14,7 +14,6 @@ import (
14
"context"
15
"errors"
16
"fmt"
17
- "github.com/ipfs/go-ipfs/provider"
17
"io"
18
"io/ioutil"
19
"os"
@@ -29,6 +28,7 @@ import (
28
ipnsrp "github.com/ipfs/go-ipfs/namesys/republisher"
29
p2p "github.com/ipfs/go-ipfs/p2p"
30
pin "github.com/ipfs/go-ipfs/pin"
31
+ provider "github.com/ipfs/go-ipfs/provider"
32
repo "github.com/ipfs/go-ipfs/repo"
33
34
bitswap "github.com/ipfs/go-bitswap"
provider/provider.go
+5
-4
@@ -5,10 +5,9 @@ package provider
5
6
import (
7
"context"
8
-
9
- cid "github.com/ipfs/go-cid"
8
+ "github.com/ipfs/go-cid"
9
logging "github.com/ipfs/go-log"
11
- routing "github.com/libp2p/go-libp2p-routing"
10
+ "github.com/libp2p/go-libp2p-routing"
11
)
12
13
var log = logging.Logger("provider")
@@ -17,7 +16,9 @@ const provideOutgoingWorkerLimit = 8
16
17
// Provider announces blocks to the network
18
type Provider interface {
19
+ // Run is used to begin processing the provider work
20
Run()
21
+ // Provide takes a cid and makes an attempt to announce it to the network
22
Provide(cid.Cid) error
23
}
24
@@ -53,7 +54,7 @@ func (p *provider) Provide(root cid.Cid) error {
54
func (p *provider) handleAnnouncements() {
55
for workers := 0; workers < provideOutgoingWorkerLimit; workers++ {
56
go func() {
56
- for {
57
+ for p.ctx.Err() == nil {
58
select {
59
case <-p.ctx.Done():
60
return