Skip to content
Snippets Groups Projects
Unverified Commit addd9a2b authored by Levente Pap's avatar Levente Pap
Browse files

Add message registry for analysis packet types

parent 293044f9
No related branches found
No related tags found
No related merge requests found
...@@ -62,12 +62,6 @@ type Heartbeat struct { ...@@ -62,12 +62,6 @@ type Heartbeat struct {
InboundIDs [][]byte InboundIDs [][]byte
} }
func init() {
if err := message.RegisterType(MessageTypeHeartbeat, HeartbeatMessageDefinition); err != nil {
panic(err)
}
}
// ParseHeartbeat parses a slice of bytes (serialized packet) into a heartbeat. // ParseHeartbeat parses a slice of bytes (serialized packet) into a heartbeat.
func ParseHeartbeat(data []byte) (*Heartbeat, error) { func ParseHeartbeat(data []byte) (*Heartbeat, error) {
// check minimum size // check minimum size
......
package packet package packet
import "errors" import (
"errors"
"github.com/iotaledger/hive.go/protocol/message"
"github.com/iotaledger/hive.go/protocol/tlv"
)
var ( var (
// ErrMalformedPacket is returned when malformed packets are tried to be parsed. // ErrMalformedPacket is returned when malformed packets are tried to be parsed.
ErrMalformedPacket = errors.New("malformed packet") ErrMalformedPacket = errors.New("malformed packet")
) )
// AnalysisMsgRegistry holds all message definitions for analysis server related messages
var AnalysisMsgRegistry *message.Registry
func init() {
AnalysisMsgRegistry = message.NewRegistry()
// register tlv header type
if err := AnalysisMsgRegistry.RegisterType(tlv.MessageTypeHeader, tlv.HeaderMessageDefinition); err != nil {
panic(err)
}
// analysis plugin specific types (msgType > 0)
if err := AnalysisMsgRegistry.RegisterType(MessageTypeHeartbeat, HeartbeatMessageDefinition); err != nil {
panic(err)
}
}
\ No newline at end of file
...@@ -81,7 +81,7 @@ func HandleConnection(conn *network.ManagedConnection) { ...@@ -81,7 +81,7 @@ func HandleConnection(conn *network.ManagedConnection) {
} }
// create new protocol instance // create new protocol instance
p := protocol.New(conn) p := protocol.New(conn, packet.AnalysisMsgRegistry)
onReceiveData := events.NewClosure(func(data []byte) { onReceiveData := events.NewClosure(func(data []byte) {
// process incoming data in protocol.Receive() // process incoming data in protocol.Receive()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment