Additional checks and debug output
This commit is contained in:
parent
e3a8412df3
commit
76842b0df8
|
@ -12,7 +12,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
DefaultTtl = 50 * time.Second
|
DefaultPow = 50 * time.Millisecond
|
||||||
)
|
)
|
||||||
|
|
||||||
type Envelope struct {
|
type Envelope struct {
|
||||||
|
@ -56,7 +56,7 @@ func NewEnvelope(ttl time.Duration, topics [][]byte, data *Message) *Envelope {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *Envelope) Seal() {
|
func (self *Envelope) Seal() {
|
||||||
self.proveWork(DefaultTtl)
|
self.proveWork(DefaultPow)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *Envelope) proveWork(dura time.Duration) {
|
func (self *Envelope) proveWork(dura time.Duration) {
|
||||||
|
|
|
@ -81,11 +81,16 @@ func (self *peer) broadcast(envelopes []*Envelope) error {
|
||||||
if err := self.ws.WriteMsg(msg); err != nil {
|
if err := self.ws.WriteMsg(msg); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
self.peer.Infoln("broadcasted", i, "message(s)")
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *peer) addKnown(envelope *Envelope) {
|
||||||
|
self.known.Add(envelope.Hash())
|
||||||
|
}
|
||||||
|
|
||||||
func (self *peer) handleStatus() error {
|
func (self *peer) handleStatus() error {
|
||||||
ws := self.ws
|
ws := self.ws
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package whisper
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"fmt"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -34,6 +35,8 @@ const (
|
||||||
envelopesMsg = 0x01
|
envelopesMsg = 0x01
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const defaultTtl = 50 * time.Second
|
||||||
|
|
||||||
type Whisper struct {
|
type Whisper struct {
|
||||||
pub, sec []byte
|
pub, sec []byte
|
||||||
protocol p2p.Protocol
|
protocol p2p.Protocol
|
||||||
|
@ -55,6 +58,8 @@ func New(pub, sec []byte) *Whisper {
|
||||||
}
|
}
|
||||||
go whisper.update()
|
go whisper.update()
|
||||||
|
|
||||||
|
whisper.Send(defaultTtl, nil, NewMessage([]byte("Hello world. This is whisper-go")))
|
||||||
|
|
||||||
// p2p whisper sub protocol handler
|
// p2p whisper sub protocol handler
|
||||||
whisper.protocol = p2p.Protocol{
|
whisper.protocol = p2p.Protocol{
|
||||||
Name: "shh",
|
Name: "shh",
|
||||||
|
@ -102,6 +107,7 @@ func (self *Whisper) msgHandler(peer *p2p.Peer, ws p2p.MsgReadWriter) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
self.add(envelope)
|
self.add(envelope)
|
||||||
|
wpeer.addKnown(envelope)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +116,7 @@ func (self *Whisper) add(envelope *Envelope) {
|
||||||
self.mmu.Lock()
|
self.mmu.Lock()
|
||||||
defer self.mmu.Unlock()
|
defer self.mmu.Unlock()
|
||||||
|
|
||||||
|
fmt.Println("add", envelope)
|
||||||
self.messages[envelope.Hash()] = envelope
|
self.messages[envelope.Hash()] = envelope
|
||||||
if self.expiry[envelope.Expiry] == nil {
|
if self.expiry[envelope.Expiry] == nil {
|
||||||
self.expiry[envelope.Expiry] = set.NewNonTS()
|
self.expiry[envelope.Expiry] = set.NewNonTS()
|
||||||
|
|
Loading…
Reference in New Issue