mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-26 23:53:19 +08:00
dont need blockservice workers anymore
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
This commit is contained in:
@ -10,29 +10,12 @@ import (
|
|||||||
blocks "github.com/ipfs/go-ipfs/blocks"
|
blocks "github.com/ipfs/go-ipfs/blocks"
|
||||||
"github.com/ipfs/go-ipfs/blocks/blockstore"
|
"github.com/ipfs/go-ipfs/blocks/blockstore"
|
||||||
key "github.com/ipfs/go-ipfs/blocks/key"
|
key "github.com/ipfs/go-ipfs/blocks/key"
|
||||||
worker "github.com/ipfs/go-ipfs/blockservice/worker"
|
|
||||||
exchange "github.com/ipfs/go-ipfs/exchange"
|
exchange "github.com/ipfs/go-ipfs/exchange"
|
||||||
logging "github.com/ipfs/go-ipfs/vendor/go-log-v1.0.0"
|
logging "github.com/ipfs/go-ipfs/vendor/go-log-v1.0.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
var wc = worker.Config{
|
|
||||||
// When running on a single core, NumWorkers has a harsh negative effect on
|
|
||||||
// throughput. (-80% when < 25)
|
|
||||||
// Running a lot more workers appears to have very little effect on both
|
|
||||||
// single and multicore configurations.
|
|
||||||
NumWorkers: 25,
|
|
||||||
|
|
||||||
// These have no effect on when running on multiple cores, but harsh
|
|
||||||
// negative effect on throughput when running on a single core
|
|
||||||
// On multicore configurations these buffers have little effect on
|
|
||||||
// throughput.
|
|
||||||
// On single core configurations, larger buffers have severe adverse
|
|
||||||
// effects on throughput.
|
|
||||||
ClientBufferSize: 0,
|
|
||||||
WorkerBufferSize: 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
var log = logging.Logger("blockservice")
|
var log = logging.Logger("blockservice")
|
||||||
|
|
||||||
var ErrNotFound = errors.New("blockservice: key not found")
|
var ErrNotFound = errors.New("blockservice: key not found")
|
||||||
|
|
||||||
// BlockService is a hybrid block datastore. It stores data in a local
|
// BlockService is a hybrid block datastore. It stores data in a local
|
||||||
@ -42,8 +25,6 @@ type BlockService struct {
|
|||||||
// TODO don't expose underlying impl details
|
// TODO don't expose underlying impl details
|
||||||
Blockstore blockstore.Blockstore
|
Blockstore blockstore.Blockstore
|
||||||
Exchange exchange.Interface
|
Exchange exchange.Interface
|
||||||
|
|
||||||
worker *worker.Worker
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewBlockService creates a BlockService with given datastore instance.
|
// NewBlockService creates a BlockService with given datastore instance.
|
||||||
@ -55,7 +36,6 @@ func New(bs blockstore.Blockstore, rem exchange.Interface) *BlockService {
|
|||||||
return &BlockService{
|
return &BlockService{
|
||||||
Blockstore: bs,
|
Blockstore: bs,
|
||||||
Exchange: rem,
|
Exchange: rem,
|
||||||
worker: worker.NewWorker(rem, wc),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +47,7 @@ func (s *BlockService) AddBlock(b *blocks.Block) (key.Key, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return k, err
|
return k, err
|
||||||
}
|
}
|
||||||
if err := s.worker.HasBlock(b); err != nil {
|
if err := s.Exchange.HasBlock(context.TODO(), b); err != nil {
|
||||||
return "", errors.New("blockservice is closed")
|
return "", errors.New("blockservice is closed")
|
||||||
}
|
}
|
||||||
return k, nil
|
return k, nil
|
||||||
@ -81,7 +61,7 @@ func (s *BlockService) AddBlocks(bs []*blocks.Block) ([]key.Key, error) {
|
|||||||
|
|
||||||
var ks []key.Key
|
var ks []key.Key
|
||||||
for _, b := range bs {
|
for _, b := range bs {
|
||||||
if err := s.worker.HasBlock(b); err != nil {
|
if err := s.Exchange.HasBlock(context.TODO(), b); err != nil {
|
||||||
return nil, errors.New("blockservice is closed")
|
return nil, errors.New("blockservice is closed")
|
||||||
}
|
}
|
||||||
ks = append(ks, b.Key())
|
ks = append(ks, b.Key())
|
||||||
@ -166,5 +146,5 @@ func (s *BlockService) DeleteBlock(k key.Key) error {
|
|||||||
|
|
||||||
func (s *BlockService) Close() error {
|
func (s *BlockService) Close() error {
|
||||||
log.Debug("blockservice is shutting down...")
|
log.Debug("blockservice is shutting down...")
|
||||||
return s.worker.Close()
|
return s.Exchange.Close()
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user