diff --git a/whisper/whisper.go b/whisper/whisper.go index d9affe09b1..f3b539d2c0 100644 --- a/whisper/whisper.go +++ b/whisper/whisper.go @@ -25,17 +25,19 @@ const ( signatureLength = 65 ) +const ( + DefaultTimeToLive = 50 * time.Second + DefaultProofOfWork = 50 * time.Millisecond +) + type MessageEvent struct { To *ecdsa.PrivateKey From *ecdsa.PublicKey Message *Message } -const ( - DefaultTimeToLive = 50 * time.Second - DefaultProofOfWork = 50 * time.Millisecond -) - +// Whisper represents a dark communication interface through the Ethereum +// network, using its very own P2P communication layer. type Whisper struct { protocol p2p.Protocol filters *filter.Filters @@ -199,7 +201,6 @@ func (self *Whisper) add(envelope *Envelope) error { self.expiry[envelope.Expiry].Add(hash) go self.postEvent(envelope) } - glog.V(logger.Detail).Infof("added whisper envelope %x\n", envelope) return nil diff --git a/whisper/whisper_test.go b/whisper/whisper_test.go index 27c57eee18..5c29956cfa 100644 --- a/whisper/whisper_test.go +++ b/whisper/whisper_test.go @@ -7,6 +7,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/logger/glog" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/p2p/nat" ) @@ -17,6 +18,7 @@ type testNode struct { } func startNodes(n int) ([]*testNode, error) { + // Start up the cluster of nodes cluster := make([]*testNode, 0, n) for i := 0; i < n; i++ { shh := New() @@ -46,6 +48,11 @@ func startNodes(n int) ([]*testNode, error) { client: shh, }) } + // Manually wire together the cluster nodes + root := cluster[0].server.Self() + for _, node := range cluster[1:] { + node.server.SuggestPeer(root) + } return cluster, nil } @@ -56,6 +63,7 @@ func stopNodes(cluster []*testNode) { } func TestSelfMessage(t *testing.T) { + // Start the single node cluster cluster, err := startNodes(1) if err != nil { t.Fatalf("failed to boot test cluster: %v", err) @@ -96,6 +104,10 @@ func TestSelfMessage(t *testing.T) { } func TestDirectMessage(t *testing.T) { + glog.SetV(6) + glog.SetToStderr(true) + + // Start the sender-recipient cluster cluster, err := startNodes(2) if err != nil { t.Fatalf("failed to boot test cluster: %v", err)