@cryptotaxi247 / kubo / commits / 21639564e

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