Commit 5b4cb569 authored by Jeromy's avatar Jeromy

make NewSession in the blockservice be a function, not a method

License: MIT
Signed-off-by: default avatarJeromy <jeromyj@gmail.com>
parent d27d0fef
...@@ -32,7 +32,6 @@ type BlockService interface { ...@@ -32,7 +32,6 @@ type BlockService interface {
GetBlock(ctx context.Context, c *cid.Cid) (blocks.Block, error) GetBlock(ctx context.Context, c *cid.Cid) (blocks.Block, error)
GetBlocks(ctx context.Context, ks []*cid.Cid) <-chan blocks.Block GetBlocks(ctx context.Context, ks []*cid.Cid) <-chan blocks.Block
DeleteBlock(o blocks.Block) error DeleteBlock(o blocks.Block) error
NewSession(context.Context) *Session
Close() error Close() error
} }
...@@ -79,18 +78,18 @@ func (bs *blockService) Exchange() exchange.Interface { ...@@ -79,18 +78,18 @@ func (bs *blockService) Exchange() exchange.Interface {
return bs.exchange return bs.exchange
} }
func (bs *blockService) NewSession(ctx context.Context) *Session { func NewSession(ctx context.Context, bs BlockService) *Session {
bswap, ok := bs.Exchange().(*bitswap.Bitswap) exchange := bs.Exchange()
if ok { if bswap, ok := exchange.(*bitswap.Bitswap); ok {
ses := bswap.NewSession(ctx) ses := bswap.NewSession(ctx)
return &Session{ return &Session{
ses: ses, ses: ses,
bs: bs.blockstore, bs: bs.Blockstore(),
} }
} }
return &Session{ return &Session{
ses: bs.exchange, ses: exchange,
bs: bs.blockstore, bs: bs.Blockstore(),
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment