From 282acb8f2669a2596006ab5d12f5a5226f9f24f4 Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Fri, 12 Sep 2014 19:25:13 -0700 Subject: [PATCH] refactor(bitswap:msg) add, use getters --- bitswap/bitswap.go | 13 ++++++------- bitswap/message.go | 12 ++++++++++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/bitswap/bitswap.go b/bitswap/bitswap.go index 135739672..b645fabb2 100644 --- a/bitswap/bitswap.go +++ b/bitswap/bitswap.go @@ -4,7 +4,6 @@ import ( "time" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" - proto "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto" ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/datastore.go" notifications "github.com/jbenet/go-ipfs/bitswap/notifications" @@ -158,14 +157,14 @@ func (bs *BitSwap) handleMessages() { for { select { case mes := <-bs.meschan.Incoming: - pmes := new(PBMessage) - err := proto.Unmarshal(mes.Data, pmes) + bsmsg, err := FromSwarm(*mes) if err != nil { u.PErr("%v\n", err) continue } - if pmes.Blocks != nil { - for _, blkData := range pmes.Blocks { + + if bsmsg.Blocks() != nil { + for _, blkData := range bsmsg.Blocks() { blk, err := blocks.NewBlock(blkData) if err != nil { u.PErr("%v\n", err) @@ -175,8 +174,8 @@ func (bs *BitSwap) handleMessages() { } } - if pmes.Wantlist != nil { - for _, want := range pmes.Wantlist { + if bsmsg.Wantlist() != nil { + for _, want := range bsmsg.Wantlist() { go bs.peerWantsBlock(mes.Peer, want) } } diff --git a/bitswap/message.go b/bitswap/message.go index 1a4eb450e..0853668b8 100644 --- a/bitswap/message.go +++ b/bitswap/message.go @@ -11,6 +11,8 @@ import ( ) type BitSwapMessage interface { + Wantlist() []string + Blocks() [][]byte AppendWanted(k u.Key) AppendBlock(b *blocks.Block) Exportable @@ -35,6 +37,16 @@ func newMessage() *message { return new(message) } +// TODO(brian): convert these into keys +func (m *message) Wantlist() []string { + return m.pb.Wantlist +} + +// TODO(brian): convert these into blocks +func (m *message) Blocks() [][]byte { + return m.pb.Blocks +} + func (m *message) AppendWanted(k u.Key) { m.pb.Wantlist = append(m.pb.Wantlist, string(k)) }