/
handler.go
33 lines (29 loc) · 960 Bytes
/
handler.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package og
import (
"github.com/annchain/OG/message"
"github.com/annchain/OG/ogcore"
"github.com/annchain/OG/ogcore/communication"
"github.com/sirupsen/logrus"
)
type OgGeneralMessageHandler struct {
OgPartner *ogcore.OgPartner
OgMessageAdapter OgMessageAdapter
}
func (a OgGeneralMessageHandler) Handle(msgEvent *message.GeneralMessageEvent) {
annsensusMessage, err := a.OgMessageAdapter.AdaptGeneralMessage(msgEvent.Message)
if err != nil {
logrus.WithError(err).Warn("failed to adapt og message to general")
return
}
ogPeer, err := a.OgMessageAdapter.AdaptGeneralPeer(msgEvent.Sender)
if err != nil {
logrus.WithError(err).Warn("failed to adapt general peer to og")
return
}
ogMsgEvent := &communication.OgMessageEvent{
Message: annsensusMessage,
Peer: ogPeer,
}
a.OgPartner.PeerIncoming.GetPipeIn() <- ogMsgEvent
//<-ffchan.NewTimeoutSenderShort(a.OgPartner.PeerIncoming.GetPipeIn(), ogMsgEvent, "og handler").C
}