mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-26 14:46:42 +00:00
whisper: refactoring and cleanup
This commit is contained in:
parent
7a86fe54f2
commit
e618742c59
3 changed files with 8 additions and 28 deletions
|
|
@ -48,18 +48,16 @@ import (
|
||||||
"golang.org/x/crypto/pbkdf2"
|
"golang.org/x/crypto/pbkdf2"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const quitCommand = "~Q"
|
||||||
quitCommand = "~Q"
|
|
||||||
enodePrefix = "enode://"
|
|
||||||
)
|
|
||||||
|
|
||||||
// singletons
|
// singletons
|
||||||
var (
|
var (
|
||||||
server *p2p.Server
|
server *p2p.Server
|
||||||
shh *whisper.Whisper
|
shh *whisper.Whisper
|
||||||
done chan struct{}
|
done chan struct{}
|
||||||
input *bufio.Reader = bufio.NewReader(os.Stdin)
|
|
||||||
mailServer mailserver.WMailServer
|
mailServer mailserver.WMailServer
|
||||||
|
|
||||||
|
input = bufio.NewReader(os.Stdin)
|
||||||
)
|
)
|
||||||
|
|
||||||
// encryption
|
// encryption
|
||||||
|
|
@ -115,6 +113,7 @@ func processArgs() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const enodePrefix = "enode://"
|
||||||
if len(*argEnode) > 0 {
|
if len(*argEnode) > 0 {
|
||||||
if (*argEnode)[:len(enodePrefix)] != enodePrefix {
|
if (*argEnode)[:len(enodePrefix)] != enodePrefix {
|
||||||
*argEnode = enodePrefix + *argEnode
|
*argEnode = enodePrefix + *argEnode
|
||||||
|
|
@ -529,25 +528,10 @@ func requestExpiredMessagesLoop() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func extractIdFromEnode(s string) []byte {
|
func extractIdFromEnode(s string) []byte {
|
||||||
if len(s) == 0 {
|
n, err := discover.ParseNode(s)
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
p := len(enodePrefix)
|
|
||||||
if s[:p] == enodePrefix {
|
|
||||||
s = s[p:]
|
|
||||||
}
|
|
||||||
|
|
||||||
i := strings.Index(s, "@")
|
|
||||||
if i > 0 {
|
|
||||||
s = s[:i]
|
|
||||||
}
|
|
||||||
|
|
||||||
b, err := hex.DecodeString(s)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Fatalf("Failed to decode enode: %s", err)
|
utils.Fatalf("Failed to parse enode: %s", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
return n.ID[:]
|
||||||
return b
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ func (s *WMailServer) DeliverMail(peer *whisper.Peer, request *whisper.Envelope)
|
||||||
|
|
||||||
for i.Next() {
|
for i.Next() {
|
||||||
var envelope whisper.Envelope
|
var envelope whisper.Envelope
|
||||||
err = envelope.DecodeBytes(i.Value())
|
err = rlp.DecodeBytes(i.Value(), &envelope)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.V(logger.Error).Infof("RLP decoding failed: %s", err)
|
glog.V(logger.Error).Infof("RLP decoding failed: %s", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -172,10 +172,6 @@ func (e *Envelope) DecodeRLP(s *rlp.Stream) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return e.DecodeBytes(raw)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *Envelope) DecodeBytes(raw []byte) error {
|
|
||||||
// The decoding of Envelope uses the struct fields but also needs
|
// The decoding of Envelope uses the struct fields but also needs
|
||||||
// to compute the hash of the whole RLP-encoded envelope. This
|
// to compute the hash of the whole RLP-encoded envelope. This
|
||||||
// type has the same structure as Envelope but is not an
|
// type has the same structure as Envelope but is not an
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue