Extend pss delivery chan type
p4u p4u@dabax.net
Mon, 25 Feb 2019 16:40:06 +0100
2 files changed,
15 insertions(+),
6 deletions(-)
M
cmd/pssTest/psstest.go
→
cmd/pssTest/psstest.go
@@ -40,11 +40,11 @@ } else {
fmt.Println("First parameter must be sym or asym") return } - + fmt.Printf("My PSS pubKey is %s\n", sn.PssPubKey) go func() { for { - msg := <-sn.PssTopics[topic].Delivery - fmt.Printf("<- Pss received: %s\n", msg) + pmsg := <-sn.PssTopics[topic].Delivery + fmt.Printf("<- Pss received msg:{%s}\n", pmsg.Msg) } }()
M
net/swarm/swarm.go
→
net/swarm/swarm.go
@@ -112,9 +112,16 @@ sp.P2P = 31000
return sp } +type pssMsg struct { + Msg []byte + Peer *p2p.Peer + Asym bool + Keyid string +} + type pssSub struct { Unregister func() - Delivery (chan []byte) + Delivery (chan pssMsg) Address string }@@ -274,11 +281,12 @@ }
sn.PssTopics[topic] = new(pssSub) sn.PssTopics[topic].Address = address - sn.PssTopics[topic].Delivery = make(chan []byte) + sn.PssTopics[topic].Delivery = make(chan pssMsg) var pssHandler pss.HandlerFunc = func(msg []byte, peer *p2p.Peer, asym bool, keyid string) error { log.Debug("pss received", "msg", fmt.Sprintf("%s", msg), "keyid", fmt.Sprintf("%s", keyid)) - sn.PssTopics[topic].Delivery <- msg + + sn.PssTopics[topic].Delivery <- pssMsg{Msg: msg, Peer: peer, Asym: asym, Keyid: keyid} return nil } topicHandler := pss.NewHandler(pssHandler)@@ -304,6 +312,7 @@ // send symetric message
err = sn.Pss.SendSym(symKeyId, strTopic(topic), hexutil.Bytes(msg)) } if subType == "raw" { + // sed raw message err = sn.Pss.SendRaw(hexutil.Bytes(address), dstTopic, hexutil.Bytes(msg)) } if subType == "asym" {