1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-30 18:13:54 +08:00

feat(bitswap) add interface

This commit is contained in:
Brian Tiger Chow
2014-09-15 04:26:36 -07:00
parent dde6ad495e
commit 2738d72095

23
bitswap/interface.go Normal file
View File

@ -0,0 +1,23 @@
package bitswap
import (
"time"
blocks "github.com/jbenet/go-ipfs/blocks"
u "github.com/jbenet/go-ipfs/util"
)
type Exchange interface {
// Block returns the block associated with a given key.
// TODO(brian): pass a context instead of a timeout
// TODO(brian): rename -> Block
GetBlock(k u.Key, timeout time.Duration) (*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?
HaveBlock(*blocks.Block) error
}