feat(bitswap:msg) impl FromSwarm method
Brian Tiger Chow committed
Sep 12, 2014 at 19:08 UTC
21639564e73b34252d155e63f666b0e0767ec8a6
1 file changed
+11
bitswap/message.go
+11
@@ -1,6 +1,8 @@
1
package bitswap
2
3
import (
4
+ proto "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto"
5
+
6
blocks "github.com/jbenet/go-ipfs/blocks"
7
nm "github.com/jbenet/go-ipfs/net/message"
8
swarm "github.com/jbenet/go-ipfs/net/swarm"
@@ -41,6 +43,15 @@ func (m *message) AppendBlock(b *blocks.Block) {
43
m.pb.Blocks = append(m.pb.Blocks, b.Data)
44
}
45
46
+func FromSwarm(sms swarm.Message) (BitSwapMessage, error) {
47
+ var protoMsg PBMessage
48
+ err := proto.Unmarshal(sms.Data, &protoMsg)
49
+ if err != nil {
50
+ return nil, err
51
+ }
52
+ return newMessageFromProto(protoMsg), nil
53
+}
54
+
55
func (m *message) ToProto() *PBMessage {
56
cp := m.pb
57
return &cp