Skip to content
Snippets Groups Projects
events.go 1.36 KiB
Newer Older
	"github.com/iotaledger/goshimmer/plugins/analysis/types/heartbeat"
	"github.com/iotaledger/hive.go/events"
// Events holds the events of the analysis server package.
var Events = struct {
	// AddNode triggers when adding a new node.
	AddNode *events.Event
	// RemoveNode triggers when removing a node.
	RemoveNode *events.Event
	// ConnectNodes triggers when connecting two nodes.
	ConnectNodes *events.Event
	// DisconnectNodes triggers when disconnecting two nodes.
capossele's avatar
capossele committed
	DisconnectNodes *events.Event
	// Error triggers when an error occurs.
	Error *events.Event
	// Heartbeat triggers when an heartbeat has been received.
	Heartbeat *events.Event
capossele's avatar
capossele committed
	events.NewEvent(stringCaller),
	events.NewEvent(stringCaller),
	events.NewEvent(stringStringCaller),
	events.NewEvent(stringStringCaller),
	events.NewEvent(errorCaller),
	events.NewEvent(heartbeatPacketCaller),
capossele's avatar
capossele committed
func stringCaller(handler interface{}, params ...interface{}) {
	handler.(func(string))(params[0].(string))
}
capossele's avatar
capossele committed
func stringStringCaller(handler interface{}, params ...interface{}) {
	handler.(func(string, string))(params[0].(string), params[1].(string))
}

func errorCaller(handler interface{}, params ...interface{}) {
	handler.(func(error))(params[0].(error))
}

func heartbeatPacketCaller(handler interface{}, params ...interface{}) {
	handler.(func(heartbeat.Packet))(params[0].(heartbeat.Packet))
}