whisper: refactoring and cleanup

This commit is contained in:
Vlad 2017-01-23 22:25:17 +01:00
parent 7a86fe54f2
commit e618742c59
3 changed files with 8 additions and 28 deletions

View file

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

View file

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

View file

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