Add comments; Check ctx.Err(); Move import

License: MIT
Signed-off-by: 's avatarMichael Avila <davidmichaelavila@gmail.com>
上级 09cc62eb
...@@ -14,7 +14,6 @@ import ( ...@@ -14,7 +14,6 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/ipfs/go-ipfs/provider"
"io" "io"
"io/ioutil" "io/ioutil"
"os" "os"
...@@ -29,6 +28,7 @@ import ( ...@@ -29,6 +28,7 @@ import (
ipnsrp "github.com/ipfs/go-ipfs/namesys/republisher" ipnsrp "github.com/ipfs/go-ipfs/namesys/republisher"
p2p "github.com/ipfs/go-ipfs/p2p" p2p "github.com/ipfs/go-ipfs/p2p"
pin "github.com/ipfs/go-ipfs/pin" pin "github.com/ipfs/go-ipfs/pin"
provider "github.com/ipfs/go-ipfs/provider"
repo "github.com/ipfs/go-ipfs/repo" repo "github.com/ipfs/go-ipfs/repo"
bitswap "github.com/ipfs/go-bitswap" bitswap "github.com/ipfs/go-bitswap"
......
...@@ -5,10 +5,9 @@ package provider ...@@ -5,10 +5,9 @@ package provider
import ( import (
"context" "context"
"github.com/ipfs/go-cid"
cid "github.com/ipfs/go-cid"
logging "github.com/ipfs/go-log" logging "github.com/ipfs/go-log"
routing "github.com/libp2p/go-libp2p-routing" "github.com/libp2p/go-libp2p-routing"
) )
var log = logging.Logger("provider") var log = logging.Logger("provider")
...@@ -17,7 +16,9 @@ const provideOutgoingWorkerLimit = 8 ...@@ -17,7 +16,9 @@ const provideOutgoingWorkerLimit = 8
// Provider announces blocks to the network // Provider announces blocks to the network
type Provider interface { type Provider interface {
// Run is used to begin processing the provider work
Run() Run()
// Provide takes a cid and makes an attempt to announce it to the network
Provide(cid.Cid) error Provide(cid.Cid) error
} }
...@@ -53,7 +54,7 @@ func (p *provider) Provide(root cid.Cid) error { ...@@ -53,7 +54,7 @@ func (p *provider) Provide(root cid.Cid) error {
func (p *provider) handleAnnouncements() { func (p *provider) handleAnnouncements() {
for workers := 0; workers < provideOutgoingWorkerLimit; workers++ { for workers := 0; workers < provideOutgoingWorkerLimit; workers++ {
go func() { go func() {
for { for p.ctx.Err() == nil {
select { select {
case <-p.ctx.Done(): case <-p.ctx.Done():
return return
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论