Additional checks and debug output

This commit is contained in:
obscuren 2014-12-08 14:25:52 +01:00
parent e3a8412df3
commit 76842b0df8
3 changed files with 14 additions and 2 deletions

View File

@ -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) {

View File

@ -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

View File

@ -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()