whisper implementation

This commit is contained in:
decanus
2019-04-20 19:33:42 +02:00
parent 7f909ce183
commit abedf1312c
2 changed files with 31 additions and 3 deletions

View File

@@ -2,5 +2,5 @@ package transport
type Node interface {
Watch()
SendMessage(senderId []byte, to []byte, message []byte) // @todo probably needs types
SendMessage(senderId []byte, to []byte, message []byte) error // @todo probably needs types
}

View File

@@ -15,6 +15,34 @@ func (n *WhisperNode) Watch() {
panic("implement me")
}
func (n *WhisperNode) SendMessage(senderId []byte, to []byte, message []byte) {
//n.whisper.Send()
func (n *WhisperNode) SendMessage(senderId []byte, to []byte, message []byte) error {
msg, err := whisper.NewSentMessage(&whisper.MessageParams{
TTL: 0,
Src: nil,
Dst: nil,
KeySym: nil,
Topic: whisper.TopicType{},
WorkTime: 0,
PoW: 0,
Payload: nil,
Padding: nil,
}) // @todo
if err != nil {
return err // @todo probably wrap into a new error before bubbling up
}
envelope := whisper.NewEnvelope(10, n.topic, msg)
err = envelope.Seal(nil) // @todo
if err != nil {
return err // @todo probably wrap before bubbling up
}
err = n.whisper.Send(envelope)
if err != nil {
return err // @todo probably wrap before bubbling up
}
return nil
}