whisper: push work in progress for bug report
This commit is contained in:
parent
89358d25a4
commit
cb707ba50c
|
@ -25,17 +25,19 @@ const (
|
||||||
signatureLength = 65
|
signatureLength = 65
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
DefaultTimeToLive = 50 * time.Second
|
||||||
|
DefaultProofOfWork = 50 * time.Millisecond
|
||||||
|
)
|
||||||
|
|
||||||
type MessageEvent struct {
|
type MessageEvent struct {
|
||||||
To *ecdsa.PrivateKey
|
To *ecdsa.PrivateKey
|
||||||
From *ecdsa.PublicKey
|
From *ecdsa.PublicKey
|
||||||
Message *Message
|
Message *Message
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
// Whisper represents a dark communication interface through the Ethereum
|
||||||
DefaultTimeToLive = 50 * time.Second
|
// network, using its very own P2P communication layer.
|
||||||
DefaultProofOfWork = 50 * time.Millisecond
|
|
||||||
)
|
|
||||||
|
|
||||||
type Whisper struct {
|
type Whisper struct {
|
||||||
protocol p2p.Protocol
|
protocol p2p.Protocol
|
||||||
filters *filter.Filters
|
filters *filter.Filters
|
||||||
|
@ -199,7 +201,6 @@ func (self *Whisper) add(envelope *Envelope) error {
|
||||||
self.expiry[envelope.Expiry].Add(hash)
|
self.expiry[envelope.Expiry].Add(hash)
|
||||||
go self.postEvent(envelope)
|
go self.postEvent(envelope)
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.V(logger.Detail).Infof("added whisper envelope %x\n", envelope)
|
glog.V(logger.Detail).Infof("added whisper envelope %x\n", envelope)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"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"
|
||||||
"github.com/ethereum/go-ethereum/p2p/nat"
|
"github.com/ethereum/go-ethereum/p2p/nat"
|
||||||
)
|
)
|
||||||
|
@ -17,6 +18,7 @@ type testNode struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func startNodes(n int) ([]*testNode, error) {
|
func startNodes(n int) ([]*testNode, error) {
|
||||||
|
// Start up the cluster of nodes
|
||||||
cluster := make([]*testNode, 0, n)
|
cluster := make([]*testNode, 0, n)
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
shh := New()
|
shh := New()
|
||||||
|
@ -46,6 +48,11 @@ func startNodes(n int) ([]*testNode, error) {
|
||||||
client: shh,
|
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
|
return cluster, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,6 +63,7 @@ func stopNodes(cluster []*testNode) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelfMessage(t *testing.T) {
|
func TestSelfMessage(t *testing.T) {
|
||||||
|
// Start the single node cluster
|
||||||
cluster, err := startNodes(1)
|
cluster, err := startNodes(1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to boot test cluster: %v", err)
|
t.Fatalf("failed to boot test cluster: %v", err)
|
||||||
|
@ -96,6 +104,10 @@ func TestSelfMessage(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDirectMessage(t *testing.T) {
|
func TestDirectMessage(t *testing.T) {
|
||||||
|
glog.SetV(6)
|
||||||
|
glog.SetToStderr(true)
|
||||||
|
|
||||||
|
// Start the sender-recipient cluster
|
||||||
cluster, err := startNodes(2)
|
cluster, err := startNodes(2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to boot test cluster: %v", err)
|
t.Fatalf("failed to boot test cluster: %v", err)
|
||||||
|
|
Loading…
Reference in New Issue