mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-23 21:47:52 +08:00
feat(exchange) pass ctx to exchange.HasBlock(...)
This commit is contained in:
@ -43,7 +43,8 @@ func (s *BlockService) AddBlock(b *blocks.Block) (u.Key, error) {
|
||||
return k, err
|
||||
}
|
||||
if s.Remote != nil {
|
||||
err = s.Remote.HasBlock(*b)
|
||||
ctx := context.TODO()
|
||||
err = s.Remote.HasBlock(ctx, *b)
|
||||
}
|
||||
return k, err
|
||||
}
|
||||
|
@ -128,8 +128,7 @@ func (bs *bitswap) sendToPeersThatWant(ctx context.Context, block blocks.Block)
|
||||
|
||||
// HasBlock announces the existance of a block to bitswap, potentially sending
|
||||
// it to peers (Partners) whose WantLists include it.
|
||||
func (bs *bitswap) HasBlock(blk blocks.Block) error {
|
||||
ctx := context.TODO()
|
||||
func (bs *bitswap) HasBlock(ctx context.Context, blk blocks.Block) error {
|
||||
go bs.sendToPeersThatWant(ctx, blk)
|
||||
return bs.routing.Provide(blk.Key())
|
||||
}
|
||||
|
@ -27,6 +27,6 @@ func (_ *offlineExchange) Block(context.Context, u.Key) (*blocks.Block, error) {
|
||||
}
|
||||
|
||||
// HasBlock always returns nil.
|
||||
func (_ *offlineExchange) HasBlock(blocks.Block) error {
|
||||
func (_ *offlineExchange) HasBlock(context.Context, blocks.Block) error {
|
||||
return nil
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
|
||||
func TestBlockReturnsErr(t *testing.T) {
|
||||
off := NewOfflineExchange()
|
||||
_, err := off.Block(context.TODO(), u.Key("foo"))
|
||||
_, err := off.Block(context.Background(), u.Key("foo"))
|
||||
if err != nil {
|
||||
return // as desired
|
||||
}
|
||||
@ -21,7 +21,7 @@ func TestBlockReturnsErr(t *testing.T) {
|
||||
func TestHasBlockReturnsNil(t *testing.T) {
|
||||
off := NewOfflineExchange()
|
||||
block := testutil.NewBlockOrFail(t, "data")
|
||||
err := off.HasBlock(block)
|
||||
err := off.HasBlock(context.Background(), block)
|
||||
if err != nil {
|
||||
t.Fatal("")
|
||||
}
|
||||
|
@ -12,13 +12,9 @@ import (
|
||||
type Interface interface {
|
||||
|
||||
// Block returns the block associated with a given key.
|
||||
// TODO(brian): pass a context instead of a timeout
|
||||
Block(context.Context, u.Key) (*blocks.Block, error)
|
||||
|
||||
// HasBlock asserts the existence of this block
|
||||
// TODO(brian): rename -> HasBlock
|
||||
// TODO(brian): accept a value, not a pointer
|
||||
// TODO(brian): remove error return value. Should callers be concerned with
|
||||
// whether the block was made available on the network?
|
||||
HasBlock(blocks.Block) error
|
||||
// TODO Should callers be concerned with whether the block was made
|
||||
// available on the network?
|
||||
HasBlock(context.Context, blocks.Block) error
|
||||
}
|
||||
|
Reference in New Issue
Block a user